adélia barros o paradigma de orientação a objetos

48
Adélia Barros O Paradigma de Orientação a Objetos

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adélia Barros O Paradigma de Orientação a Objetos

Adélia Barros

O Paradigma de Orientação a Objetos

Page 2: Adélia Barros O Paradigma de Orientação a Objetos

Paradigma? Um paradigma é uma forma de abordar um

problema. No contexto da modelagem de um sistema de

software, um paradigma tem a ver com a forma pela qual esse sistema é entendido e construído.

A primeira abordagem usada para modelagem de sistemas de software foi o paradigma estruturado.◦ Uso da técnica de decomposição funcional◦ “divida sucessivamente um problema complexo em

subproblemas”

Page 3: Adélia Barros O Paradigma de Orientação a Objetos

O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes interconectados chamados objetos. Cada objeto é responsável por realizar tarefas específicas. É através da interação entre objetos que uma tarefa computacional é realizada.

Page 4: Adélia Barros O Paradigma de Orientação a Objetos

Conceitos e Princípios da OO Conceitos

◦ Abstração◦ Classe◦ Objeto◦ Mensagem

Princípios◦ Encapsulamento◦ Modularidade◦ Polimorfismo◦ Generalização (Herança)◦ Composição

Page 5: Adélia Barros O Paradigma de Orientação a Objetos

Abstração Abstração:

◦ É o mecanismo que nos permite representar uma realidade complexa em termos de um modelo simplificado.

◦ Processo de filtragem de detalhes sem importância do objeto, para que apenas as características apropriadas que o descrevem permaneçam.

Page 6: Adélia Barros O Paradigma de Orientação a Objetos

Abstração

Page 7: Adélia Barros O Paradigma de Orientação a Objetos

Abstração Três abstrações de um carro:

Page 8: Adélia Barros O Paradigma de Orientação a Objetos

Classes, objetos e mensagens O mundo real é formado de coisas. Na terminologia de orientação a objetos, estas coisas do

mundo real são denominadas objetos. Seres humanos costumam agrupar os objetos para

entendê-los. A descrição de um grupo de objetos é denominada classe

de objetos, ou simplesmente de classe.

Page 9: Adélia Barros O Paradigma de Orientação a Objetos

Objetos Características

◦ Dados representam características◦ São chamados atributos

Comportamento◦ Operações definem comportamento◦ São os métodos de um objeto◦ São as funções que são executadas em um objeto

Estado Representado pelos valores dos atributos de um

objeto Estado representa o resultado cumulativo de seu

comportamento

Page 10: Adélia Barros O Paradigma de Orientação a Objetos

Objetos Objetos possui atributos:

Page 11: Adélia Barros O Paradigma de Orientação a Objetos

Objetos E os objetos possuem comportamento:

Page 12: Adélia Barros O Paradigma de Orientação a Objetos

O que é uma classe? Uma classe é um molde para

objetos. Diz-se que um objeto é uma instância de uma classe.

Uma classe é uma abstração das características relevantes de um grupo de coisas do mundo real.◦ Na maioria das vezes, um grupo de

objetos do mundo real é muito complexo para que todas as suas características e comportamento sejam representados em uma classe.

Cliente

Representante

Produto

Page 13: Adélia Barros O Paradigma de Orientação a Objetos

Classes Classes:

Page 14: Adélia Barros O Paradigma de Orientação a Objetos

Classes

Classe é onde conceituamos o objeto◦ É a essência do objeto◦ Define os atributos e métodos

Objeto é uma instância de uma classe Objetos semelhantes pertencem a mesma

classe

Page 15: Adélia Barros O Paradigma de Orientação a Objetos

Classes

Classe Lampada◦ Atributos◦ potencia (int), ligada(boolean)

Operações◦ ligar, desligar, estaLigada

Page 16: Adélia Barros O Paradigma de Orientação a Objetos

Classe X Objeto

Objetos são abstrações de entidades que existem no mundo real.

Classes são definições estáticas, que possibilitam o entendimento de um grupo de objetos.

CUIDADO: estes dois termos muitas vezes são usados indistintamente em textos sobre orientação a objetos.

Page 17: Adélia Barros O Paradigma de Orientação a Objetos

Classe X Objeto Classes:

◦ Exemplos: Pessoa é uma CLASSE;

João é um OBJETO (instância) da CLASSE Pessoa;

Carro é uma CLASSE;

Meu carro é um OBJETO da CLASSE Carro.

◦ Objetos similares são agrupados em classes.

Page 18: Adélia Barros O Paradigma de Orientação a Objetos

Classes

Page 19: Adélia Barros O Paradigma de Orientação a Objetos

Mensagens Para que um objeto realize alguma tarefa,

deve haver um estímulo enviado a este objeto.

Pense em um objeto como uma entidade ativa que representa uma abstração de algo do mundo real◦ Então faz sentido dizer que tal objeto pode responder

a estímulos a ele enviados◦ Assim como faz sentido dizer que seres vivos reagem

a estímulos que eles recebem.

Page 20: Adélia Barros O Paradigma de Orientação a Objetos

Mensagens Independentemente da origem do estímulo,

quando ele ocorre, diz-se que o objeto em questão está recebendo uma mensagem.

Uma mensagem é uma requisição enviada de um objeto a outro para que este último realize alguma operação.

Page 21: Adélia Barros O Paradigma de Orientação a Objetos

Mensagens• Objetos de um sistema trocam mensagens

– isto significa que estes objetos estão enviando mensagens uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual eles estão inseridos.

Page 22: Adélia Barros O Paradigma de Orientação a Objetos

Mensagens

Após a execução, o controle volta para o objeto que enviou a mensagem.

Page 23: Adélia Barros O Paradigma de Orientação a Objetos

Encapsulamento

Objetos possuem comportamento.◦ O termo comportamento diz

respeito a que operações são realizadas por um objeto e também de que modo estas operações são executadas.

De acordo com o encapsulamento, objetos devem “esconder” a sua complexidade...

Page 24: Adélia Barros O Paradigma de Orientação a Objetos

24

Encapsulamento

O encapsulamento é uma forma de restringir o acesso ao comportamento interno de um objeto◦ Um objeto que precise da colaboração de outro

para realizar alguma tarefa simplesmente envia uma mensagem a este último

◦ O método (maneira de fazer) que o objeto requisitado usa para realizar a tarefa não é conhecido dos objetos requisitantes

Page 25: Adélia Barros O Paradigma de Orientação a Objetos

25

Encapsulamento Na terminologia da orientação a objetos, diz-se

que um objeto possui uma interface◦ A interface de um objeto é o que ele conhece e o que ele

sabe fazer, sem descrever como o objeto conhece ou faz◦ A interface de um objeto define os serviços que ele pode

realizar e conseqüentemente as mensagens que ele recebe

Máquina de Refrigeranteem lata

Coloque umaColoque umamoedamoeda

Receba a LataReceba a Lata

Page 26: Adélia Barros O Paradigma de Orientação a Objetos

26

Encapsulamento Uma interface pode ter várias formas de implementação Mas, pelo princípio do encapsulamento, a implementação

utilizada por um objeto receptor de uma mensagem não importa para um objeto remetente da mesma

Page 27: Adélia Barros O Paradigma de Orientação a Objetos

Encapsulamento Encapsulamento:

◦ Exemplos: Se a companhia telefônica mudar seus processos,

você vai continuar usando o aparelho normalmente?

A implementação de uma classe, pode ser alterada sem afetar a sua interface.

Se um novo telefone for criado, como um telefone digital, a implementação interna foi alterada, mas a interface com o usuário permanece a mesma.

Page 28: Adélia Barros O Paradigma de Orientação a Objetos

Modularidade

Decomposição de um problema em pequenos pedaços, para gerenciar complexidade (Dividir para conquistar)

Cada conceito independente deve ser representado por um módulo

Construção de módulos desacoplados

Page 29: Adélia Barros O Paradigma de Orientação a Objetos

Polimorfismo

É a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras

Page 30: Adélia Barros O Paradigma de Orientação a Objetos

Polimorfismo

Page 31: Adélia Barros O Paradigma de Orientação a Objetos

Polimorfismo

Page 32: Adélia Barros O Paradigma de Orientação a Objetos

Polimorfismo

Page 33: Adélia Barros O Paradigma de Orientação a Objetos

Herança

Page 34: Adélia Barros O Paradigma de Orientação a Objetos

Herança É o mecanismo para definir uma nova

classe em termos de uma já existente.

É o relacionamento entre classes de objetos que permite a uma classe incluir atributos e operações definidas por outra classe mais genérica.

A classe mais genérica é chamada de superclasse e as classes mais específicas de subclasse.

Page 35: Adélia Barros O Paradigma de Orientação a Objetos

Herança Herança simples:

Page 36: Adélia Barros O Paradigma de Orientação a Objetos

Herança Herança Múltipla:

Page 37: Adélia Barros O Paradigma de Orientação a Objetos

37

Composição Objetos possuem relacionamentos Composição

◦ Um objeto pode ser formado por outros objetos◦ Casa, livro, jardim, agenda de contatos, etc

Um livro é composto de capítulos Capítulo é parte essencial de livro

◦ Se não existir capítulo, não existe livro◦ Capítulo não existe fora de livro

Page 38: Adélia Barros O Paradigma de Orientação a Objetos

Composição Linha com losângulo preenchido na classe

“dominante”◦ Livro é composto de 1 ou mais capítulos

Page 39: Adélia Barros O Paradigma de Orientação a Objetos

Exercícios Identifique atributos para as classes:

◦ Caderno;◦ Arquivo em um computador.

Agência bancária◦ Descreva os atributos e métodos de uma conta

corrente em uma agência bancária

Page 40: Adélia Barros O Paradigma de Orientação a Objetos

Respostas Caderno:

◦ Atributos: quantidade de folhas, tamanho, tipo da capa, preço, fabricante, etc.

Arquivo em um computador:◦ Atributos: nome, tamanho, tipo do arquivo, data e hora

da última atualização, propriedades de acesso, etc. Conta bancário:

◦ Atributos: número, agência, tipo da conta (corrente, poupança, salário), saldo, etc.

◦ Métodos: Creditar, debitar, transferir, imprimir saldo, etc.

Page 41: Adélia Barros O Paradigma de Orientação a Objetos

Exercícios Identifique nas classes que atributos e/ou operações

não pertencem ao escopo do problema.

◦ Classe: Aluno (sistema de controle de alunos do ensino médio) Atributos: nome, telefone, endereço, filiação, altura, data

de nascimento, disciplina. Métodos: Realizar matricula, emitir boleto, verificar notas.

Page 42: Adélia Barros O Paradigma de Orientação a Objetos

Exercícios◦ Classe: Professor (Cadastro de professores de uma

universidade) Atributos: nome, formação acadêmica, data de nascimento,

data de casamento, sexo. Métodos: Listar disciplinas, Emitir contracheque, inserir

notas das disciplinas.◦ Classe: Livro (Cadastro de livros de uma livraria)

Atributos: título, ISBN, número de páginas, autores, editora, preço de custo, preço de venda, ano da edição.

Métodos: cadastrar livro, calcular desconto especial, imprimir livro.

Page 43: Adélia Barros O Paradigma de Orientação a Objetos

Respostas

Classe: Aluno◦ Atributos: altura

Classe: Professor ◦ Atributos: Data de casamento

Classe: Livro◦ Métodos: Imprimir livro

Page 44: Adélia Barros O Paradigma de Orientação a Objetos

Resumo

Número Saldo

String double

creditar

debitar

Número Saldo

21.342-7 875,32

creditar

debitar

Número Saldo

89.342-X 105,33

creditar

debitar

Page 45: Adélia Barros O Paradigma de Orientação a Objetos

Resumo

creditar(20.00)

Número Saldo

21.342-7 875,32

creditar

debitar

Número Saldo

21.342-7 895,32

creditar

debitar

Page 46: Adélia Barros O Paradigma de Orientação a Objetos

Resumo

Número Saldo

String double

creditar

debitar

Número Saldo

Stringdouble

creditar

debitardebitar

renderJurosrenderJuros

extends

Conta Poupança

Page 47: Adélia Barros O Paradigma de Orientação a Objetos

Resumo

creditar(20.00)

Número Saldo

21.342-7 875,32

creditar

debitardebitar

renderJurosrenderJuros Número Saldo

21.342-7 895,32

creditar

debitardebitar

renderJurosrenderJuros

Page 48: Adélia Barros O Paradigma de Orientação a Objetos

Resumo

renderJuros(0.01)

Número Saldo

21.342-7 875,32

creditar

debitardebitar

renderJurosrenderJuros Número Saldo

21.342-7 884,07

creditar

debitardebitar

renderJurosrenderJuros