h rogramação Orientada a Objetos Uma das desvantagens da programação estruturada, como foi citado, é a tendência em gerar códigos onde tratamentos de dados são misturados com o comportamento do programa. Além disso, caso o programador quisesse criar um programa semelhante a um que já tivesse feito, era complicado pegar determinadas partes deste programa já pronto e trazer para o novo projeto, uma vez que eram necessárias, na maior parte das vezes, realizar mudanças substanciais no código. Neste cenário surgiu a Programação Orientada a Objetos (POO – lê-se Pê-Ó-Ó). Ela foi criada para tentar simular o mundo real dentro do computador e para isso utiliza objetos. Desta forma, fica a cargo do programador modelar objetos e a interação entre eles. Essa modelagem leva em consideração alguns conceitos, dentre os principais, pode-se citar: · Classe: É o molde para criar objetos. Possui todas as especificações de um grupo deles. Ex.: Os objetos Eddie Vedder e Kurt Cobain, apesar de serem diferentes, derivam da mesma classe Pessoa. · Atributos: Definem características de objetos, e.g., a classe Pessoa tem os Atributos Nome, Endereço, Telefone e Sexo. · Métodos: Definem o comportamento dos objetos, tendo seus nomes normalmente definidos por verbos. Para a classe Pessoa, por exemplo, podem haver os métodos Comprar, Vender e Alugar. · Abstração: É a habilidade de se concentrar nos principais aspectos de um grupo de objetos, em vez de se preocupar com as suas especificações. Ex.: Para a classe Pessoa são definidas as principais características comuns à maioria das pessoas, sem que haja preocupação especial com objetos muito específicos e, por conseguinte, pouco comuns (e.g., pessoas com dedos a mais ou a menos). · Encapsulamento: É a habilidade de esconder de outros objetos, as características intrínsecas de um dado objeto. Toda a comunicação inter objetos deve ser realizada via métodos. Um objeto não deve ser capaz de acessar, e tampouco alterar, atributos de outro objeto