Estudos sobre POO
Introdução
A Programação Orientada a Objetos (POO) é um paradigma de programação centrado no conceito de objetos que contém dados de estado (atritbutos) e executam ações (métodos).
Esse paradigma é de grande importância uma vez que permite associar o código com o modelo de negócios e o escopo que o código implementa, aproximando e modelando o comportamento de entidades reais ou abstratas.
Por exemplo: um cachorro. Pode-se descrevê-lo por meio de seus atributos (adjetivos), como peso, altura, raça, cor, etc. Com relação aos métodos de um cachorro (verbos), pode-se ter: latir, rosnar, correr, andar, comer, etc. Essas características são utilizadas para se criar um modelo de cachorro e poder instanciar (criar) objetos dessa classe.
Esse paradigma é de grande importância uma vez que permite associar o código com o modelo de negócios e o escopo que o código implementa, aproximando e modelando o comportamento de entidades reais ou abstratas.
Por exemplo: um cachorro. Pode-se descrevê-lo por meio de seus atributos (adjetivos), como peso, altura, raça, cor, etc. Com relação aos métodos de um cachorro (verbos), pode-se ter: latir, rosnar, correr, andar, comer, etc. Essas características são utilizadas para se criar um modelo de cachorro e poder instanciar (criar) objetos dessa classe.
Atualmente tenho estudado esse paradigma por meio da linguagem Java, que é uma das principais linguagens que utilizam a POO. Eu utilizo a IDE IntelliJ tanto para programar quanto para as interações com o git. Recomendo essa IDE, dado seu design e simplicidade que achei superiores ao Eclipse, que sobrecarrega o usuário com várias funcionalidades muitas vezes desnecessárias.
Estudando o paradigma
Há um grande número de cursos e livros disponíveis online que abordam os principais temas da orientação a objetos. Em particular, venho seguindo o curso do ITA, disponibilizado na plataforma do Coursera. O curso é gratuito, sendo pago apenas a emissão do certificado.
Planejo aprofundar meus estudos após a realização dos outros cursos também disponíveis na plataforma, como TDD, Padrões de Projeto e aplicações para Web, mas isso é assunto para posts futuros.
Ementa
O curso é planejado em uma sequência lógica e crescente de dificuldade e importância dos assuntos. Uma parte de grande importância são os vídeos (hands-on) onde são implementados exemplos com código em Java dos conceitos ensinados. Outra vantagem desse curso são os pequenos projetos ao final de cada módulo, servindo para exercitar o que foi aprendido, além de ser possível revisar o código de outros colegas que também estão fazendo o curso.
Tópicos abordados:
- Classes e objetos
- Relacionamento entre classes
- Modelagem CRC
- Testes automatizados
- Diagramas UML
- Responsabilidade
- Herança
- Interfaces
- Classes abstratas
- Encapsulamento
- Acoplamento
- Polimorfismo
- Tratamento de erros
Além disso, alguns princípios importantes de projeto foram apresentados, visando criar já nos alunos a noção do que é um bom código e uma boa arquitetura de projeto.
Trabalho Final
O trabalho final desse curso consistia em criar um jogo que cria Palavras Embaralhadas. O próximo post será uma descrição sobre o que considerei ao implementá-lo e uma visão geral sobre o código em si.
Foi de fato, muito instrutito realizar o curso e seu projeto final, podendo aplicar os conceitos e lidar com as dificuldades que apareceram durante a programação.
Uma ação preliminar a programação que eu geralmente não fazia, mas que fez com que a implementação do jogo ocorresse de maneira muito mais suave e organizada foi criar o diagrama de classes, com os métodos, atributos e responsabilidades de cada classe. Assim, programar foi praticamente traduzir o diagrama para Java, muito mais simples e eficaz.
Comments
Post a Comment