Início

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Início

Previous pageReturn to chapter overviewNext page

Programação orientada a objeto

 

Classe o Objeto

 

Classe é abstração de um objeto

Objeto é uma instancia de uma classe

 

Polimorfismo

 

O mesmo método funciona diferente em diferentes objetos:

 

   class Pessoa() { void Falar() {} }

   class Homem: Pessoa() { void Falar() {X} }

   class Mulher: Pessoa() { void Falar() {Y} }

 

Apesar que tanto homem como mulher tem metodo falar mas funciona diferente

 

Encapsulamento

 

As propriedades são internas "encapsulada"

 

Abstração 

 

Saber de qual "grupo" o objeto pertence logo seus atributos comum

Caça, Helicóptero e Teco-teco são AERONAVES

Boi, Vaca e Urso são mamíferos  (abstração)

 

Generalização

 

É subir na hierarquia. Ficando cada vez mais genérico:

Cabra -> Mamífero -> Animal

 

Especialização

 

É o contrário, desde:

Animal -> Mamífero -> Cabra

 

 

Identação de Código

 

Camel Case (variáveis e objetos)

 

nomeCliente

codigoFornecedorAnterior

 

Pascal Case  (funções e classes)

 

NomeCliente

 

Parameter less (automatic properties)

 

Modo OLD:

 

class Pessoa

{

  public string Nome { get; set; }

  public int Idade { get; set; }

 

  public Pessoa(string nome)  

  {

    this.Nome = nome;

  }

 

  public Pessoa(string nome; int idade)  

  {

    this.Nome = nome;

    this.Idade = idade;

  }

}

 

Pessoa p = new Pessoa("Flavio", 33);

 

Modo NEW:

 

class Pessoa

{

  public string Nome { get; set; }

  public int Idade { get; set; }

}

 

Pessoa p = new Pessoa() { Idade=32, Nome="Flavio" }