Conceitos Orienteção Objetos

30

description

Conceitos básicos de programação orientada a objetos

Transcript of Conceitos Orienteção Objetos

por:

Denny Azevedo

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Conceitos

- POO utiliza os conceitos que aprendemos no jardim de

infância: objetos e atributos, todos e partes, classes e

membros.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

O mundo está cheio de coisas:

Objetos

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Para uma Prefeitura

Para uma Imobiliária

Propriedade tributável

Contribuinte

CompradorProduto

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

N.º do Imóvel Valor avaliado Valor do Imposto

Podemos representar um objeto abstraído por meio de

uma tabela vazia ou com dados:

Casa

N.º do Imóvel Valor avaliado Valor do Imposto

789 150.000,00 900,00

Casa

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Objetos

Um objeto é uma abstração de um conjunto de coisas do

mundo real de forma que:

• Todas as coisas do mundo real do conjunto – as

instâncias tenham as mesmas características;

• Todas as instâncias estejam em conformidade com

as normas.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Identificando Objetos

1. Coisas tangíveis

2. Funções

3. Incidentes

4. Interações

5. Especificações

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

1. Coisas Tangíveis:

São objetos que podem ser tocados, são concretos.

Exs:

• Avião

• Pessoa

• Cachorro

• Veículo

• Livros

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

2. Funções desempenhadas por pessoas ou

Organizações:

• Médico

• Paciente

• Corretor

• Empregado

• Supervisor

• Administrador

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

3. Incidentes: Uma ocorrência ou um evento.

• Vôo

• Acidente

• Falha no sistema

• Chamada de serviços

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

4. Interações: Transação entre objetos.

• Compra: Refere-se a um comprador, vendedor e o

produto a ser comprado;

• Casamento: Refere-se a um homem e uma mulher.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

5. Especificações: Refere-se a objetos de aplicações

relacionadas com estoques ou fabricação.

Ex: Refrigerador:

N.º de série Modelo Local

1239872 169A Controle de Qualidade

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Diretrizes para a descrição do objeto:

• Nome do Objeto: Avião de Passageiros

• Descrição do objeto;

Base de Abstração:

• Critérios de Inclusão;

• Critérios de Exclusão;

• Contexto do Objeto.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Atributos

É uma única característica possuída pelo objeto.

Ex: Nome do cachorro;

N.º de poltronas do avião;

Velocidade máxima do carro...

Podem ser:

• Descritivos: Cor do carro.

• Nominativos: Placa do carro.

• Referenciais: Nome do proprietário.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Atributos

A visibilidade de um atributo pode ser:

• Pública ;

• Privada ;

• Protegida.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Domínio

É o conjunto de valores que um atributo pode assumir.

Podem ser:

• Enumeração: Lista explícita de todas as

possibilidades.

Ex: Segunda, Terça, Quarta, Quinta, Sexta.

• Citação: Citar um documento que atua como fonte

oficial das possibilidades.

Ex: Tabela do anexo 2 da Lei 8.140/03

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Domínio

• Normas de aceitação: Uma norma para determinar se

um valor declarado pode ser aceito.

Ex: Letras e números não sequenciais com tamanho

entre 8 e 15 caracteres.

• Alcance: Unidades e as faixas aceitáveis de valores.

Ex: 0 – 200 km/h

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Por que aprender OO?

Programação Estruturada x POO

Estruturada:

• Blocos de código – Procedures

• Uma procedure é chamada por outra ou por outras;

• Um conjunto de procedures = Programa;

• Linguagens: Cobol e Clipper.

Suas fraquezas:

• Não permite conceitos de reutilização de código;

• Manutenção complexa;

• Facilidade em escrever códigos desorganizados.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

POO:

• Representa melhor o mundo real;

• Simplicidade de manutenção;

• Facilidade de extensão;

• Melhor organização do código;

• Reaproveitamento de código;

• Ganhos na produtividade.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Classes

• É a programação da descrição do objeto.

• É formada basicamente por métodos, propriedades e

atributos.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Objeto

• São instâncias de classes.

• Um POO é composto por um conjunto de objetos que

interagem através de “trocas de mensagens”.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Propriedades

• São moderadoras de acesso aos atributos,

normalmente de visibilidade pública, não armazenam

valores, incorpora duas ações:

Ação de atribuição: SET

Ação de leitura: GET

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Métodos

• São as ações que o objeto executa. Eles podem

receber parâmetros, retornar valores....

Exs:

Classe Métodos

Pessoa Andar, Falar, Respirar.

Carro Acelerar, Abrir a Porta, Ligar o Rádio.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Eventos

• É um acontecimento gerado por um fator externo, na

maioria dos caso, ou interno de um objeto, que aciona

um método em resposta ao evento.

Ex: Click do mouse

Exclusão da memória

Perder ou adquirir o foco do SO

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

O que torna uma linguagem de Programação OO?

• Encapsulamento;

• Abstração;

• Herança;

• Polimorfismo.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Encapsulamento

• É a prática de se esconder como o objeto executa as

suas operações, limitar e proteger acesso aos dados.

• Pode-se mudar a implementação do objeto para corrigir

erros, aumentar performance... Sem ter que mudar o

código todo.

• A manutenção é mais fácil e de menos custo;

• Torna-se um programa legível, bem organizado.

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Herança

• É um mecanismo único da OO.

• Qualquer classe poderá ser herdada de outra, onde ela

terá todos os membros da classe que herdou.

• É chamada de classe Base ou classe-Mãe.

• Ponto forte: Reutilização.

Pessoa

Professor Aluno

Apresentação - DisciplinaConceitos de Orientação a Objetos - OO

Polimorfismo

• É a execução de uma mesma ação com diferentes tipos

de dados.

Ex: Soma de dois valores

Conversão de dados