3. Herança
O que é herança?
• Uma classe pode herdar atributos e ou
métodos de outra classe;
• Reusabilidade;
• Herança múltipla e o Problema do Diamante
4. class Pessoa
{
protected int idade;
protected string nomeCompleto;
public int GetIdade()
{
return idade;
}
public int SetIdade(int idade)
{
this.idade = idade;
}
}
public class Program
{
public static void Main()
{
Funcionario funcionario = new Funcionario();
funcionario.NomeCompleto = "Fulano de Tal";
funcionario.Idade = 34;
funcionario.Salario = 1000.00;
}
}
public class Pessoa
{
public int Idade { get; set; }
public string NomeCompleto { get; set; }
}
public class Funcionario : Pessoa
{
public double Salario { get; set; }
}
5. class Pessoa
{
protected int idade;
protected string nomeCompleto;
public int GetIdade()
{
return idade;
}
public int SetIdade(int idade)
{
this.idade = idade;
}
}
public class Program
{
public static void Main()
{
Funcionario funcionario = new Funcionario();
funcionario.NomeCompleto = "Fulano de Tal";
funcionario.Idade = 34;
funcionario.Salario = 1000.00;
}
}
public class Pessoa
{
private int Idade { get; set; }
private string NomeCompleto { get; set; }
}
public class Funcionario : Pessoa
{
public double Salario { get; set; }
}
6. class Pessoa
{
protected int idade;
protected string nomeCompleto;
public int GetIdade()
{
return idade;
}
public int SetIdade(int idade)
{
this.idade = idade;
}
}
public class Program
{
public static void Main()
{
Funcionario funcionario = new Funcionario();
funcionario.NomeCompleto = "Fulano de Tal";
funcionario.Idade = 34;
funcionario.Salario = 1000.00;
}
}
public class Pessoa
{
protected int Idade { get; set; }
protected string NomeCompleto { get; set; }
}
public class Funcionario : Pessoa
{
public double Salario { get; set; }
}
Compilation error (line 7, col 15): 'Pessoa.NomeCompleto' is inaccessible due to its protection level
Compilation error (line 8, col 15): 'Pessoa.Idade' is inaccessible due to its protection level