Programação Orientada a Objetos em Java: uma abordagem didática utilizando o BlueJ
1. Objetivos
Apresentar os fundamentos para o desenvolvimento de softwares modernos seguindo o paradigma de programação orientada a objetos (POO). Um paradigma define um modelo ou padrão a ser seguido. O paradigma de programação orientada a objetos, dentre vários existentes, define um modelo para construção de software que é seguido por profissionais mundialmente.
2. Pré-requisitos
-
Lógica de programação e programação procedural/estruturada.
3. Motivação para uso de POO
Como você já sabe, desenvolver software não é uma tarefa fácil. Desenvolver programas para resolver problemas reais e cada vez mais complexos, que serão utilizados de fato por alguém além de você, pode ser desafiador.
Depois que já se sabe o que precisa ser feito, um dos maiores desafios é por onde começar e então muitas dúvidas surgem. Como transformar suas ideas em código? Como este código deve ser organizado? Quais partes do programa devem ser desenvolvidas primeiro? Como identificar estas partes do programa e desenvovê-las isoladamente? Como unir as partes depois de prontas e fazer o sistema inteiro funcionar?
Durante o processo de aprendizagem, todos nós provavelmente utilizamos intuitivamente o "paradigma" de tentitiva e erro. Consigo até ver a cena: Você vai escrevendo o código, fazendo alterações sem saber exatamente o que está fazendo, na esperança que o programa funcione. 🙏
A medida que o código vai aumentando e você vai indiscriminadamente fazendo alterações nele, o código começa a virar um emaranhado de linhas que nem você entende mais.
A programação orientada a objetos (POO), juntamente com uma série de conceitos e práticas de engenharia de software defini padrões para o desenvolvimento de software, buscando:
-
minimizar a quantidade de bugs (erros);
-
permitir que o software seja desenvolvido em equipe (local ou remotamente) de forma que qualquer profissional capacitado possa entender o código de outra pessoa;
-
permitir que o software seja desenvolvido em partes independentes, ainda contribuindo para o trabalho em equipe;
-
facilitar a manutenção de código para correção de bugs e inclusão de novos recursos;
-
assim como métodos de construção evoluem para corrigir problemas como custo, tempo de construção, qualidade e segurança, a POO surgiu para corrigir problemas de outros paradigmas de programação e suprir novas necessidades tanto dos desenvolvedores quanto dos clientes;
-
diminuir a distância entre o que o código representa com o que de fato ele faz ao ser executado;
-
etc.