Baixe o app para aproveitar ainda mais
Prévia do material em texto
Os pilares do paradigma Orientado a Objetos Dentre as principais características do paradigma orientado a objeto (OO), destacamos: Encapsulamento: Encapsular significa esconder. O objeto esconde seus dados (atributos) do acesso indevido de outros objetos. Os dados somente devem ser acessados por métodos (funcionalidades que implementam o comportamento do objeto) da própria classe, o que pode ser visualizado na figura abaixo (Encapsulamento). O encapsulamento é uma técnica para minimizar a interdependências entre as classes, pois apenas os métodos da respectiva classe podem alterar seus dados (atributos), facilitando a identificação de erros e a alteração dos programas. Herança: Mecanismo para derivar novas classes a partir da definição de classes existentes através de um processo de refinamento. Uma classe derivada ou descendente herda os dados (atributos) e comportamento (métodos) da classe base ou ancestral ou ascendente. Conforme ilustrado na figura abaixo, as classes ContaPoupança e ContaInvestimento herdam da classe Conta, os atributos e métodos que são permitidos. A classe Conta é chamada Classe base, uma vez que é a base da herança. Veja: A implementação da herança garante a reutilização de código, que além de economizar tempo e dinheiro, propicia mais segurança ao processo de desenvolvimento, posto que as funcionalidades da classe base já foram usadas e testadas. Polimorfismo: A palavra polimorfismo, deriva do grego, e significa “muitas formas”. A partir do momento em que uma classe herda atributos e métodos de uma (herança simples) ou mais (herança múltipla) classes base, ela tem o poder de alterar o comportamento de cada um desses procedimentos (métodos). Isso amplia o poder do reaproveitamento de código promovido pela herança, permitindo que se aproveite alguns métodos e se altere (redefina) outros. Dessa forma, um método com mesmo nome, em classes distintas, pode ter diferentes comportamentos. Acompanhe o exemplo da figura abaixo, onde identificamos uma herança: Pagamento em Dinheiro, Pagamento em CC (Cartão de crédito) e Pagamento em Cheque herdam da classe Pagamento, o atributo o método Pagar_Conta (Valor: double, troco: double). Observe que em cada classe filha (Pagamento em Dinheiro, Pagamento em cartão e pagamento em Cheque) escreve novamente o método Pagar, com as respectivas particularidades necessárias a cada forma de pagamento. Essa possibilidade ocorre pelo princípio do polimorfismo. Visibilidade: Outro conceito fundamental é a visibilidade entre as classes. A visibilidade diz respeito ao que uma classe pode visualizar da outra. Como princípio, devemos garantir o encapsulamento, ou seja, os atributos devem ser privados (acessiveis apenas por métodos da própria classe) e determinados métodos públicos (acessíveis por todas as classes), e acessar esses dados. Por outro lado, se mantivermos todos os métodos como sendo privados, a classe perde o sentido, pois nenhuma outra poderá usar seus métodos. Então, devemos usar a visibilidade com equilíbrio e sabedoria. Outra visibilidade possível, além de privada e pública, é a protegida, onde os atributos e os métodos somente pode ser vistos dentro da estrutura de herança, ou seja, pelas classes filhas. Na figura que vimos acima, o atributo Valor e o método Pagar_Conta (Valor :int) da classe Pagamento, somente podem ser acessados pelas classes Pagamento em Dinheiro, Pagamento Cartao e Pagamento Cheque.
Compartilhar