Geral

Orientação a Objetos: Como aprender tudo a respeito

Por em

O desenvolvimento de aplicações é um campo super amplo com muitas linguagens, opções de frameworks, designs e também opções de paradigmas para se programar. Um deles é a orientação a objetos, um paradigma muito consolidado atualmente e que ganha força a todo momento principalmente pelo fato de grandes empresas e populares linguagens de programação utilizarem esse paradigma como seu principal.
 

O que é orientação a objetos?

A programação orientada a objetos ou apenas POO é um paradigma (um padrão a ser seguido) de desenvolvimento de softwares que utiliza-se de componentes individuais denominados objetos que colaboram para a construção de algo mais complexo: o seu software. Essa colaboração é dada através de “mensagens” onde cada objeto diz quais ações pode fazer e quais as características que possui.

O termo como conhecido hoje foi idealizado por Alan Kay, criador da linguagem Smalltalk que pegou algumas ideias já aplicadas em outra linguagem chamada Simula 67 e idealizou novos conceitos, aprimorando os já existentes, dando origem ao paradigma que hoje nós utilizamos. Podemos notar que o paradigma em si é algo antigo, porém somente nas últimas décadas está sendo adotado e seu crescimento continua a acontecer.
 

Ideia básica da Orientação a objetos (OO)

A ideia básica por trás da orientação a objetos foi de tentar aproximar o mundo real do mundo virtual, ou seja, tentar simular um mundo dentro de um computador através de objetos. Afinal nosso mundo está recheado de objetos em toda parte, certo?

Essa ideia se mantém até hoje porém, sabemos que nem sempre tentar assemelhar à realidade é a melhor solução. Utilizando Orientação a Objetos, o programador consegue moldar diversos objetos e definir como esses objetos devem interagir entre si. Existe uma conversa entre todos os objetos de sua aplicação através de mensagens sendo que as mensagens são responsabilidade do programador. Ele deve “dizer e saber” quais devem ser enviadas e para onde devem ir.

Uma mensagem nada mais é do que alguns dados, dados esses que o objeto receptor consegue entender e baseado nisso resolver ou contribuir para a resolução de determinado problema. A mensagem pode ser constituída de diversos dados com tipos distintos e também por parâmetros que serão utilizadas como informações.
 

Classes, Atributos, Métodos e objetos o que são cada um?

Até esse ponto falamos do que é Orientação a Objetos, mas não falamos como podemos aplicar isso dentro de uma linguagem e quais são os conceitos envolvidos para que isso aconteça. Então vamos lá.

A primeira coisa que devemos saber é que nem toda linguagem é orientada a objetos e ainda, nem toda linguagem é totalmente orientada a objetos. Existem algumas que possuem traços da Orientação a Objetos mas não trabalham inteiramente e existem outras que não aplicam ou dão suporte a diversos tipos de paradigmas.

Quando falamos de programação orientada a objetos ou apenas POO as primeiras coisas pensamos é: Objetos, classes, atributos ou propriedades e métodos. Mas o que quer dizer cada um desses nomes?

Objetos: Um objeto é uma implementação de Tipos Abstratos de Dados (TAD’s) que encapsula dados e operações. Todo objeto tem um estado, um comportamento e uma identidade.

Classes: Classe é uma abstração que define um tipo de objeto e o que objetos desse determinado tipo tem dentro dela (atributos) e também que tipo de ação ele é capaz de executar (métodos).

Atributos: São características que os objetos possuem. Ao definir um atributo sempre é passado nome e o que irá guardar, ou seja, qual tipo de dado que ele vai armazenar, exemplo: cor do olho, altura.

Métodos: São ações que os objetos possuem. Geralmente todo objeto possui algum tipo de ação e essas ações são as funcionalidades de nosso objeto, exemplo: somar, dividir, subtrair.
 

Começar com POO

Para começar a trabalhar com POO não é uma tarefa difícil, você só precisa de uma linguagem que tenha o suporte a esse paradigma e começar a estudar sobre esse novo mundo.

Aqui na School of net nós possuímos diversos cursos que abordam o paradigma OO e ainda com várias linguagens, veja algumas abaixo:
Java: Talvez uma das mais conhecidas nesse mundo da POO, apesar de não ser totalmente OO ela possui diversos aspectos desse paradigma e sem dúvida é um ótimo ponto de partida. Comece a estudar Java agora mesmo!

C#: Outro gigante da tecnologia, está diretamente associada à microsoft o que é um grande diferencial. Também faz o uso da Orientação a Objetos como o seu paradigma principal (assim como o Java). Quer aprender de forma fácil? Clique aqui!.

Javascript: O querido de todos na web, linguagem totalmente versátil onde pode-se aplicar diversos paradigmas. Tem suporte ao paradigma Orientação a Objetos e é fortemente baseado em objetos. Para iniciar os estudos basta acessar nosso curso: OO com Javascript.

Ruby: Também uma ótima opção para quem deseja trabalhar com multi paradigmas. Ruby conta com suporte a Orientação a Objetos e é uma excelente opção para pessoas que estão iniciando nesse mundo. Comece por aqui..

PHP: A opção mais conhecida para o desenvolvimento web também possui um excelente suporte a Orientação a Objetos. Você pode iniciar o seus estudos através desse curso: PHP – Iniciando com OO ou se já conhece os primeiros conceito você já pode ir para o curso mais avançado clicando aqui.

Python: Linguagem muito conhecida, que vem ganhando muito força no mercado, também faz parte das linguagens que possuem o suporte a Orientação a Objetos. Na SON nós temos dois cursos: Um que ensina os conceitos e também um que ensina a aplicação na prática.
 

Próximos passos

Após escolher uma linguagem que suporte o paradigma da orientação a objetos, chegou a hora de colocar a mão na massa! A primeira coisa que devemos ter em mente é que programar, principalmente com POO, é uma arte. Devemos praticar todos os dias para melhorar. Para continuar evoluindo nesta área, você deve estudar os principais conceitos envolvidos nesse paradigma como: Herança, Encapsulamento, Polimorfismo dentre outros.