Este repositório é dedicado ao terceiro curso da formação de Java e Orientação a Objetos oferecido pela Alura em colaboração com o programa One da Oracle. Durante o curso, adquiri conhecimentos sobre herança, polimorfismo, composição e interfaces e os fundamentos essenciais dessa linguagem de programação.
O curso foi dividido em diversos módulos, cada um com seus respectivos exercícios, atividades e um desafio durante o curso.
- A herança pode resolver problemas de reutilização de código, permite o uso da palavra-chave
extends
em Java para herdar características e funcionalidades da classe mãe, e proporciona a reutilização do código como benefício. - Aprendemos que a classe mãe é chamada de super ou
base class
, a classe filha é chamada desub class
, o modificadorprotected
aumenta a visibilidade de membros, osuper
é usado para acessar membros da classe mãe e a sobrescrita permite redefinir um método. - Objetos não mudam de tipo, a referência pode mudar, o polimorfismo permite usar referências mais genéricas, o uso de referências mais genéricas desacopla sistemas.
- Aprendemos conceitos de herança, construtores e polimorfismo, a anotação
@Override
, que construtores não são herdados e que o construtor da classe mãe pode ser chamado usandosuper()
. - Aprendemos sobre classes abstratas e seu propósito, métodos abstratos e sua utilidade.
- Não existe herança múltipla em
Java
, aprendemos sobre interfaces, diferenças entre classes abstratas e interfaces, e que interfaces são uma alternativa à herança para o polimorfismo. - Aprofundamos o uso de
interface
, trabalhamos mais com herança e exploramos outras aplicações de heranças e interfaces.
Este repositório é um registro de todo o meu avanço no curso. Ao longo do curso, tive a oportunidade de aplicar esses conceitos através de exercícios e atividades práticas. Nesse repositório, você encontrará os exercícios, atividades e desafios realizados por mim durante o curso e todos eles estão organizados por módulo e podem ser encontrados em suas respectivas pastas.