Conceitos Fundamentais de Orientação a Objetos (POO)
Classificado em Computação
Escrito em em português com um tamanho de 3,3 KB
Classes: São estruturas de linguagens de POO criadas para conter os dados e operações. Podemos entendê-las como um molde ou uma forma onde, a partir dela, serão criados os objetos.
Objetos: São a materialização da classe, podendo representar dados e operações da classe de origem. Para que os objetos sejam manipulados, é necessário a criação de uma referência a ele, que nada mais é do que a declaração.
Atributos: São os dados contidos na classe. Cada atributo deve ter um tipo e um nome. Ex: int idade;
Métodos: São operações contidas na classe. Os métodos podem receber parâmetros externos, ou eles podem retornar resultados. Para que ele seja executado, ele deve ser chamado de alguma maneira. Geralmente começam com minúscula. Ex: inicializaData
Encapsulamento: Capacidade de ocultar dados dentro de classes, permitindo que somente operações especializadas ou dedicadas façam manipulações.
toString
: Método construtor é um método mágico, pois ele é chamado automaticamente por um objeto que não chame explicitamente algum método.
Sobrecarga: Dois métodos com o mesmo nome dentro da mesma classe, mas com parâmetros diferentes.
Composição: Atributo pertence a outra classe, exemplo: Data
.
Modificadores de acesso em Java gerenciam a manipulação de dados e métodos:
public
, protected
, private
, package
(ou friendly)
public
: Poderá ser executado de qualquer classe.private
: Só poderá ser acessado ou executado por métodos da classe.protected
: Funciona como oprivate
, exceto em classes herdeiras.
Reuso de código: Os dois importantes mecanismos de apoio são: Composição e Herança.
Composição: Reutilização de classes.
Herança: Reutilizar classes através do mecanismo de herança, que permite que criemos usando outra classe como base.
As classes herdeiras acessam os métodos da superclasse usando a palavra super
.
Sobrepor: Sobrepor métodos nada mais é que criar métodos na subclasse com o mesmo nome e assinatura da superclasse. Às vezes é necessário sobrepor métodos, pois os métodos nas classes herdeiras geralmente têm mais tarefas que nas superclasses.
Um método em uma subclasse não elimina o método sobreposto na classe herdeira. Caso precise chamar ele, basta colocar a chave SUPER
.
Classes Abstratas: São classes que somente contêm descrições de campos e métodos que devem ser implementados, mas sem implementar esses métodos.
Arrays: São vetores.
Cast: É uma operação que permite converter instâncias de uma classe em instâncias de outra classe, desde que sejam de uma mesma família.
Polimorfismo: (muitas formas) permite a criação de métodos que podem processar uma superclasse e todas as suas subclasses. Ele consegue imprimir objetos de classes distintas, gerando saídas diferentes.