Ingressei ao curso de Engenharia de Software á pouco, e comecei a aprender programação na linguagem Java. Essa linguagem tem seu paradigma voltado para a Orientação de Objetos, mas até agora pelo meu entendimento, estou programando de maneira estruturada usando Java. Gostaria de exemplos, ou até mesmo códigos onde é usada a orientação a objetos de fato.
Para programar OO “de fato” vc teria que estar familiarizado com conceitos como herança, polimorfismo e abstrações. Uma implementação que segue os princípios de OO (SOLID) são mais avançadas, no exemplo abaixo temos uma classe que, entre outras características, tem baixo acoplamento por não instanciar diretamente nenhuma outra classe e usar abstrações (classes abstratas ou Interfaces como é o caso) no construtor: