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

Post on 17-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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”

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.

Conceitos e Princípios da OO Conceitos

◦ Abstração◦ Classe◦ Objeto◦ Mensagem

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

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.

Abstração

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

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.

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

Objetos Objetos possui atributos:

Objetos E os objetos possuem comportamento:

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

Classes Classes:

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

Classes

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

Operações◦ ligar, desligar, estaLigada

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.

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.

Classes

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.

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.

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.

Mensagens

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

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...

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

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

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

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.

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

Polimorfismo

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

Polimorfismo

Polimorfismo

Polimorfismo

Herança

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.

Herança Herança simples:

Herança Herança Múltipla:

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

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

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

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

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.

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.

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.

Respostas

Classe: Aluno◦ Atributos: altura

Classe: Professor ◦ Atributos: Data de casamento

Classe: Livro◦ Métodos: Imprimir livro

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

Resumo

creditar(20.00)

Número Saldo

21.342-7 875,32

creditar

debitar

Número Saldo

21.342-7 895,32

creditar

debitar

Resumo

Número Saldo

String double

creditar

debitar

Número Saldo

Stringdouble

creditar

debitardebitar

renderJurosrenderJuros

extends

Conta Poupança

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

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

top related