Bem, concluímos nosso segundo "flyby" dos princípios-chave da POO. Estudamos o polimorfismo e o encapsulamento com mais detalhes. Também aprendemos sobre um novo conceito: classes abstratas. Dito isso, esses tópicos não são tão simples quanto os outros tópicos com os quais você já está familiarizado. Portanto, sinta-se à vontade para usar os artigos a seguir para reforçar seu conhecimento e esclarecer as sutilezas que quase certamente serão feitas em suas futuras entrevistas.

Relações entre classes. Herança, composição e agregação

No desenvolvimento de software, você perceberá rapidamente como é importante não escrever código supérfluo. Felizmente, o Java tem tudo o que você precisa para "reduzir" com elegância. Esta lição descreve claramente os relacionamentos entre as classes: herança, composição e agregação. Prepare-se: haverá muitos exemplos interessantes.

Princípios de encapsulamento

Encapsulamento versus ocultação — são conceitos diferentes ou a mesma coisa? Em sua forma básica, você já encontrou o encapsulamento mais de uma vez. Se você quiser saber como "ocultar" o complexo funcionamento interno de seu programa do usuário e expor apenas uma interface conveniente, recomendamos que você leia esta lição com atenção.

Como usar polimorfismo

A principal vantagem do polimorfismo é a flexibilidade. Por um lado, você pode trabalhar com vários tipos de dados como se fossem do mesmo tipo. Por outro lado, esse princípio permite preservar o comportamento dos objetos. Quando você precisa de uma aparência uniforme e quando precisa de características únicas? Nós vamos falar sobre isso.

Por que as interfaces são necessárias em Java

Sem apressar nada, esta lição descreve em detalhes o que são interfaces e porque elas apareceram na linguagem. Você também aprenderá sobre interfaces populares em Java. Se prepare! Este tópico tem continuação!

A diferença entre classes abstratas e interfaces

Nesta lição, falamos sobre como as classes abstratas diferem das interfaces e examinamos exemplos envolvendo classes abstratas comumente usadas.

Dedicamos uma lição separada às diferenças entre uma classe abstrata e uma interface, já que esse tópico é muito importante. Você será questionado sobre a diferença entre esses conceitos em 90% de suas futuras entrevistas de emprego. Portanto, certifique-se de entender o que lê e, se não entender algo completamente, leia as fontes adicionais.