Você está na página 1de 16

Orientação a Objetos

Profª Gabrielli Vargas


O paradigma orientado a objetos
Indispensável ao desenvolvimento dos atuais sistemas de
software é o Paradigma orientado a objetos.
Thomas Kuhn atribui termos a realizações científicas (como a
dinâmica newtoniana ou a química de Lavoisier) que geram
modelos que orientam o desenvolvimento posterior da
pesquisa de maneira mais ou menos definida por um período
de tempo mais longo ou mais curto, procurando
especificamente soluções para os problemas que eles propôs :
um paradigma é uma maneira de resolver um problema.
Como exemplo, podemos considerar a famosa história da maçã
caindo na cabeça de Isaac Newton: Newton não pensou apenas
que a maçã caiu sobre a terra, mas também considerou a
hipótese de que a própria terra também caiu sobre a maçã! Esta
abordagem alternativa para a resolução de problemas pode ser
considerada como um paradigma.
Pode-se dizer que o termo "paradigma orientado a objetos" é
uma forma de resolver problemas.
Há alguns anos, Alan Kay, um dos pais do paradigma orientado
a objetos, propôs o que chamou de "analogia biológica". Por
meio dele, ele visualiza um sistema de software que funciona
como um ser vivo. Nesse sistema, cada “célula” interage com
outras células enviando mensagens para atingir com um
objetivo comum. Além disso, cada célula se comportará como
uma unidade autônoma. Mais amplamente, Kay considera
como os sistemas de software podem ser construídos a partir
de agentes autônomos interagindo uns com os outros.
Ele então estabeleceu os seguintes princípios orientados a
objetos:

• Qualquer coisa é um objeto;


• Objetos realizam tarefas por meio da requisição de serviços a outros
objetos;
• Cada objeto pertence a uma determinada classe. Uma classe agrupa
objetos similares;
• A classe é um repositório para comportamento associado ao objeto;
• Classes são organizadas em hierarquias.
O paradigma orientado a objetos vê um sistema de software
como uma coleção de agentes interconectados chamados
objetos. Cada objeto é responsável por realizar uma tarefa
específica. Um objeto pode ter que interagir com outros
objetos para realizar determinadas tarefas sob sua
responsabilidade. Isso é obtido por meio da conclusão de que
a orientação a objetos, como técnica de modelagem de
sistemas, reduz a diferença semântica entre a realidade que
está sendo modelada e o modelo que está sendo construído.
Um sistema de software orientado a objetos
consiste em objetos que cooperam para
implementar a funcionalidade do sistema.Cada
objeto é responsável por uma tarefa específica. É
por causa da cooperação entre os objetos que a
computação do sistema pode se desenvolver.
Santos (2003) nos ensina que o paradigma de programação orientada a
objetos considera que os dados a serem processados e os mecanismos
de processamento desses dados devem ser considerados em conjunto.
Essa relação entre os dados e as operações neles aplicadas logo será
mais bem detalhada.
Quando representamos elementos reais de forma simplificada e
padronizada, estamos criando um modelo para esses elementos.
Modelos são representações simplificadas de objetos, pessoas, itens,
tarefas, processos, conceitos, ideias etc., usados comumente por
pessoas no seu dia a dia, independentemente do uso de computadores
Os modelos geralmente agregam dados e as operações que se
aplicam a eles.

Ex: O restaurante POOeNaMesa, em seu procedimento diário,


permite que o próprio cliente se sirva da refeição que deseja. O
peso da comida e demais itens consumidos são então anotados
no que chamaremos de comanda. Quando o cliente pede a
conta, o gerente calcula o valor devido por meio do que foi
anotado na comanda e a apresenta ao cliente.
Pronto, temos aqui um modelo do restaurante. De forma simplificada, ele é
capaz de agregar as informações necessárias para a contabilização dos
pedidos (peso da refeição, tipo e quantidade de
refrigerantes solicitados e a sobremesa, por exemplo) e as operações
ou os procedimentos associados a essas informações, tais como
encerramento do pedido, apresentação da conta para o cliente e
inclusão de um novo item, entre outras.
Dependendo do contexto em que um modelo está inserido, é comum
que ele assuma certas particularidades. Tomemos como exemplo a
representação das informações de uma pessoa. Se estivermos tratando
de um modelo em que uma pessoa é um eleitor, por exemplo, alguns
dados serão relevantes e outros não.

Exemplos:
 Pessoa considerada como eleitor: nesse caso, é necessário
conhecermos seu nome, endereço, número de inscrição, zona de
votação e seção. A operação de alteração de domicílio eleitoral poderia
ser aplicada nesse modelo.
 Pessoa considerada como aluno: para a composição do modelo
de aluno, é necessário que se tenha o nome, o número de
matrícula, nota da primeira prova, a nota da segunda prova, as
faltas e a nota final, entre outros dados. Operações como
consultar nota e solicitar revisão de ausências são plausíveis
nesse contexto.

 Pessoa considerada como motorista: nesse caso, as


informações de nome do condutor, número da CNH, histórico de
multas e data da revalidação devem compor o modelo, assim
como as operações de consulta multas e solicita revalidação.
A modelagem orientada a objetos pretende delimitar todas as
características relevantes de um objeto e todas as ações que
podem ser realizadas com ele, também necessárias em um
sistema, seja um sistema web ou outro qualquer.
Existem diferentes classificações para objetos de software,
onde eles compartilham duas características principais: todos
possuem um estado e um comportamento.
Para armazenar o estado de um objeto, o
software utiliza uma ou diversas variáveis. O
comportamento do objeto é definido pelo
conjunto de métodos que ele possui.
Classes: estruturas da orientação a objetos que servem para
conter os dados que devem ser representados e as operações
que devem ser efetuadas com esses dados para determinado
modelo.
Objetos: é como chamamos a materialização da classe, que assim
poderá ser usada para representar dados e executar
operações.
Atributos: são as propriedades (ou dados) da classe.
Métodos: os métodos expressam as funcionalidades da classe.
Referências Bibliográficas
• FURGERI, S. Programação orientada a objetos:
Conceitos e técnicas. Saraiva,2015.

Você também pode gostar