Os pilares da Programação Orientada a Objetos (OOP)
- #.NET C#
Se Você começou agora na programação, é provável que tenha milhões de dúvidas, assim como todos tem no começo. E uma coisa muito importante é entender a programação orientada a objetos (OOP).
A programação orientada a objetos tem 4 pilares muito importantes, embora muitos consideram 3 pilares, eles são 4. As quais:
1º Pilar - ABSTRAÇÃO
A abstração é um pilar muito importante, e consiste em você avaliar se aquele atributo faz sentido em seu código, por exemplo, imaginem um código à qual você fez a implementação e deseja colocar atributos para uma classe AutomovelEstacionado, e você coloca atributos como:
internal int TamanhoDaRoda { get; private set; }
internal bool TemStep{ get; set; }
internal string Chassi{ get; private set; }
Esses atributos não fazem o menor sentido, atributos assim, são desnecessários para a aplicação voltada ao estacionamento. Então sempre faça uma analise mental. "É mesmo necessário esse atributo?".
2º Pilar - ENCAPSULAMENTO
O encapsulamento é um pilar extremamente importante, você tem que controlar o nível de proteção das suas classes, então esteja sempre preocupado com a segurança e qualidade de seu código.
Procure sempre tentar utilizar o máximo de segurança em suas classes.
3º Pilar - HERANÇA
Esse pilar é muito útil, basicamente você reutiliza suas classes, com seus métodos e atributos, podendo assim fazer códigos reutilizáveis em milhares de situações. E sua forma de aplicação é bastante simples.
imagine que você tenha uma classe: AnalistaDeSistemas; à qual você tem atributos _nome, Cpf, ID, Salario, etc. E outra classe no mesmo projeto: QualityAsurence; _nome, Cpf, ID, Salario, etc. Fica muito código repetido certo? agora imagina você não repetir esses códigos, e ter uma única classe Funcionario à qual tenha esses atributos. Seria muito menos trabalhoso.
O mais incrível que isso é simplesmente fácil. veja você mesmo.
public abstract class Funcionario
{
protected string _nome { get; set; }
protected string _cpf { get; set; }
protected int _id{ get; set; }
protected decimal _salario {get; set; }
}
//agora simplesmente teremos a classe AnalistaDeSistemas e QualityAsurence\\
internal class AnalistaDeSistemas : Funcionario
{
}
internal class QualityAsurence : Funcionario
{
}
//e simplesmente assim, temos duas classes chamadas filhas: Analista e Quality; à qual herdaram da classe mãe Funcionario.
4º Pilar - POLIMORFISMO