Introdução à Orientação a Objetos · Orientação a objeto provê: O paradigma de troca de...

Preview:

Citation preview

Introdução à Orientação a Objetos

Paradigmas de programação

Objetos

Classes

Paradigma não é só uma palavra bonita!

Lógico - tudo é assertiva lógica: Prolog, Mercury;

Funcional – tudo são listas e funções: Erlang, LISP;

Imperativo (Estruturado) – tudo é comando: Lua, C, Pascal;

Orientado a Objetos – tudo é objeto: Smalltalk, C++, Java.

O paradigma de programação orientada a objetos é uma evolução da programação imperativa (estruturada).

Programas orientado a objetos consistem de entidades, denominadas (claro!) objetos;

Essas entidades correspondem aos conceitos que o programa irá manipular;

Objetos tem sua estrutura e suas propriedades definidas em uma classe:◦ Uma classe Empregado é uma fôrma (única) usada para

criar (um ou mais) objetos Empregado;

Objetos se comunicam com outros:◦ Um objeto Empresa deve perguntar a um objeto

Empregado: “Qual seu nome?”.

Orientação a objeto provê:

O paradigma de troca de mensagens provê uma clara e consistente sintaxe para acessar e modificar os objetos.

Orientação a objeto provê:

Encapsulamento provê uma forma de tornar os dados e “funções próprias”, ocultos e inacessíveis.

Orientação a objeto provê:

Herança permite que novas estruturas possam ser definidas a partir de outras já existentes, re-utilizando o código dos “pais”.

Orientação a objeto provê:

O polimorfismo indica às estruturas a que tipos elas pertencem e que formas elas podem assumir, durante a execução do sistema.

Orientação a objeto provê:

Todos os objetos mantém a coesão com um conjunto completo de operações e atributos que são relevantes para trabalhar com os mesmos, e o descrevem claramente.

Um objeto é um agrupamento de informações que modela conceitos de alto-nível no domínio do problema do programa.

Todo objeto possui um tipo;

Um objeto pode ser composto de outros;

Objetos enviam mensagens uns aos outros;

Objetos de um determinado tipo podem receber as mesmas mensagens;

Um objeto é algo que tem: estado, comportamentoe identidade.

O estado de um objeto representa uma das possíveis condições em que um objeto pode existir;

O estado é representado pelo conjuntos dos valores dos atributos de um objeto em umdeterminado momento de tempo;

O estado do objeto usualmente muda ao longo do tempo.

Exemplo – Controle Acadêmico (Aluno)◦ Nome: Godofredo Lisboa◦ Matrícula: 100510◦ Semestre de Ingresso: 2002.1

O comportamento determina como um objeto age e reage: as modificações de estado e as interações com outros objetos;

O comportamento é determinado pelo conjunto de operações que o objeto pode realizar;

As operações manipulam atributos e/ou realizam uma ou mais ações.

Exemplo - Controle Acadêmico (Aluno)◦ Matricular aluno (Godofredo Lisboa)

◦ Solicitar numero de matrícula: Retorna: 100510

Cada objeto tem uma única identidade, mesmo que seu estado seja idêntico ao de outro objeto em determinado momento de tempo;

Ou seja, cada objeto é único e distinguível dos demais;

A identidade do objeto é gerada a partir da sua instanciação e criação de referências.

A relação entre “coisas reais” no domínio do problema é, geralmente, reproduzida no programa orientado a objetos.

Quando estamos modelando o domínio de um programa, observa-se a existência de entidades e conceitos (similares ou não) que compõem àquele domínio;

Em OO, essa modelagem é feita através da abstração dos atributos (variáveis) e operações(métodos) dessas entidades e conceitos, através da implementação de CLASSES.

Uma classe deve modelar uma e apenas uma entidade ou conceito-chave.

Uma classe é a descrição de um grupo de objetos com propriedades similares (atributos), comportamento comuns (operações), relacionamentos comuns com outros objetos (associações, agregações, composições), e semântica comum;

Uma classe é um molde, uma planta, para a criação de vários objetos similares (de mesmo tipo);

O objeto criado a partir de uma classe, é uma instância.

Objetos criados a partir da mesma classe terão a mesma estrutura e funcionalidade básicas;◦ Todos os carros criados a partir de uma classe Carro,

aparentarão e funcionarão basicamente da mesma maneira…

◦ Da mesma forma que uma planta serve de guia para produção de carros específicos numa linha de montagem.

Quantas instâncias forem necessárias podem ser criadas a partir de uma classe única.◦ Uma classe Carro pode gerar quantos tipos de carros sejam

necessários na aplicação…◦ Da mesma forma que uma linha de montagem fabrica, a

partir de uma planta única, quantos carros estejam definidos para produção.

Um molde (classe) e suas instâncias (objetos).

Atribuição-Uso Não-Comercial 2.5 Brasil