Skip to main content

Curso de Orientação a Objetos com Java

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.

Husky Siberiano - Raças de Cães - Animais - InfoEscolaPor 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

POO: Os 4 pilares da Programação Orientada a ObjetosHá 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:
Programação Orientada a Objetos: Uma introdução. - CBSI | SISTEMAS ...
  1. Classes e objetos
  2. Relacionamento entre classes
  3. Modelagem CRC
  4. Testes automatizados
  5. Diagramas UML
  6. Responsabilidade
  7. Herança
  8. Interfaces
  9. Classes abstratas
  10. Encapsulamento
  11. Acoplamento
  12. Polimorfismo
  13. 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

Hello World: Your First Raspberry Pi ProjectO 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

Popular posts from this blog

Introduction Hi! My name is Rafael and you landed on my programming blog. Welcome! 😃 The goal of this blog is to share my thoughts and experience during my developments and programming tasks. The focus is to show my difficulties and what where the solutions that I have found. I will try to have some posts in English, since I can reach other communities using it, and others in Portuguese, since it is my mother tongue and I also want to be able to share this content with people that still struggle with other languages. I am following online programs that teach programming and have some tasks where you are expected to program and develop a software solution and I will list them in a future post. Besides that, I am focusing on learning the key concepts about programming, independently from the language or programming paradigm that I am currently using. I believe that in order to achieve a goal, one must be committed and, by sharing my experience, it will lead me to become each ...

A programming marathon

Every marathon starts with a single step! The beginning I've been learning to program when I entered University, where we learned the basics: loops, variables, arrays, if/else, literally nothing but the basics. My first programming language was MatLab, which is commonly used in the engineering field. Source:  https://en.wikipedia.org/wiki/MATLAB#/media/File:Matlab_Logo.png But a sad thing is that the lessons didn't start in a meaningful way... I had never seen a line of code before and, to see such a nonsense thing at first view was absolutely frustrating. I had no idea why I was typing what I was typing and what that code would do. Funny thing: I remember always confusing the letter i  with the number 1, which always led me intro trouble and not being able to make my script run. Even though it was a hard beginning, I definitely saw a lot of possibilities and usages to that new skill that I've been shown. Programming is absolutely a powerful tool to create sof...