Aprendendo Orientação a Objetos de uma vez por todas
- #.NET
- #Orientação a objetos, classes e métodos
- #.NET C#
Orientação a Objetos
Encapsulamento
public class Garrafa
{
public int Altura { get; set; }
public int Largura { get; set; }
public int Capacidade { get; set; }
public void Abrir()
{
}
public void Fechar()
{
}
}
Esse processo de agrupar esses itens, agrupar variaveis e funções dentro de unidades que a gente chama de objetos é o primeiro pilar da orientação a objetos que a gente chama de encapsulamento.
Abstração
Esconde os detalhes desnecessários das implementações que a gente tem. Você não sabe como funciona por de baixo dos panos. Resumidamente é apenas asbtrair informações.
public class Garrafa
{
private int Total = 0;
public int Altura { get; set; }
public int Largura { get; set; }
public int Capacidade { get; set; }
public void Abrir() { }
public void Fechar(){ }
private void Encher()
{
while(Total < Capacidade)
{
Total++;
}
}
}
Herança
Quando você herda algo, você trás umas propriedades e métodos de um outro objeto.
public class Pai
{
}
public class Filho : Pai
{
}
Tudo que a classe pai faz, a classe Filho também pode fazer, porém ela pode ter métodos adicionais referentes a ela própria.
Polimorfismo
- poli: Muito
- morf: Forma
Significa que a gente pode ter várias formas do mesmo objeto
public class Garrafa
{
public virtual void Finalidade()
{
Console.WriteLine("Garrafa Generica");
}
}
public class GarrafaTermica: Garrafa
{
public override void Finalizade()
{
Console.WriteLine("Manter a temperatura");
}
}
public class GarrafaVidro: Garrafa
{
public override void Finalidade()
{
Console.WriteLine("Manter o sabor");
}
}
public class Barril : Garrafa
{
public override void Finalidade()
{
Console.WriteLine("Armazenar grandes quantidades");
}
}