Conceitos Oop
-
Upload
angelo-martins -
Category
Documents
-
view
216 -
download
0
description
Transcript of Conceitos Oop
Fernando Albuquerque - [email protected]
Conceitos Orientação a Objetos
Fernando Albuquerque
061-2733589
Fernando Albuquerque - [email protected]
Tópicos
n Classes
n Objetos
n Mensagens e métodos
n Herança e hierarquias
n Exemplos de classes
Fernando Albuquerque - [email protected]
Classes
n Classes :» Padrões a partir dos quais objetos são criados
» Especificam comportamento comum aos objetos
» Descrevem a estrutura de um objeto
» Objetos de uma mesma classe são idênticos
» Contém a declaração de atributos e métodos
Fernando Albuquerque - [email protected]
Classes
palavra-chave
nome da classe
public class BemVindo {
static String mensagem = "Bem Vindo";
public static void main (String[] args) {
System.out.println ( mensagem );
}
}
Fernando Albuquerque - [email protected]
Classes
n Atributos :» Definem comportamento estático das instâncias
» Apresentam nome e valor
» Tem os seus valores restritos à uma faixa
» Podem ter valores default iniciais
» Podem ter valores fixos ou variáveis
» Podem ter valores diferentes para cada instância
» Podem ter valores iguais para cada instância
Fernando Albuquerque - [email protected]
Classes
n Métodos :» Comportamento dinâmico de uma classe
» Controlam o acesso aos atributos
» Atributos são encapsulados
» Se diz que os métodos são invocados
» Métodos podem ser públicos ou privados
» Métodos privados são de uso interno
» Métodos públicos definem serviços
Fernando Albuquerque - [email protected]
Classes
n Notação UML :
Nome
Atributos
Métodos
Pessoa
nomenascimentoendereçotelefoneRGCPF
Pessoa
-nome:String-nascimento:Date-endereço:String-telefone:Integer-RG:Integer-CPF:Integer
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
n Tipos de relacionamentos entre classes :» Precisa conhecer - associação
» É parte de - agregação
» É um tipo de - herança
n Associação :» Links são ligações físicas entre objetos
» Associações descrevem grupos de links iguais
» Multiplicidade limita o tamanho de uma coleção
» Cardinalidade é o tamanho de uma coleção
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
n Agregação :» Relacionamento do tipo é-parte-de
» Associação entre um todo e suas partes
n Especialização :» Atributo adicional
» Restrições quanto ao valor do atributo
» Atributo passando a ter valor constante
» Método adicional
» Redefinição de método
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
n Herança :» Possibilita reutilização de classes
» Classes podem herdar variáveis e métodos
» Possibilita especialização e evolução
» Podem haver múltiplos níveis
» Classes são organizadas em hierarquias
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
nome da classe derivada nome da classe base
class Point extends Object { variáveis privadasdouble x ;double y ;
public void apresenta ( double x , double y ){
this . x = x ;this . y = y ;
}
} função-membro pública
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
n Notação UML :
Conta Especial Conta Investimento
Conta Corrente Cliente11..*1..* 1
Associação
Generalização
Fernando Albuquerque - [email protected]
Relacionamentos entre classes
Composição ( partes não existem sem o todo )Agregação
PessoaEquipe * **
Barra Manu ItemMenu1 * 1 ** *
*
1 1
Fernando Albuquerque - [email protected]
Interfaces
n Interfaces :» Definem os serviços providos por classes
» Contém métodos públicos abstratos
» São implementadas por classes
» Possibilitam codificação de forma genérica
» Aumenta a portabilidade do código
» Uma classe pode implementar múltiplas interfaces
Fernando Albuquerque - [email protected]
Interfaces
interface ContaCorrente {void depositar ( double valor );double sacar ( double valor );
}
class ContaEspecial implements ContaCorrente {void depositar ( double valor ) {
// Código do método}
double sacar ( double valor ) {// Código do método
}
// Restante do código da classe}
Fernando Albuquerque - [email protected]
Interfaces
n Notação UML :
Tela Saque ContaEspecial
ContaCorrente
<< interface >> ContaCorrente { abstract }
depositar ( valor : Real ) { abstract }sacar ( valor : Real ) : Real { abstract }
Fernando Albuquerque - [email protected]
Objetos
n Objetos :» São instâncias das classes
» Podem existir múltiplos objetos de mesma classe
» Estado do objeto escondido do mundo exterior
» Métodos determinam a interface com o objeto
n Exemplo : criando o objeto
Cliente jose = new Cliente ( ) ;
classe referência para o objeto
Fernando Albuquerque - [email protected]
Objetos
n Notação UML :
Autor : Pessoa
-nome = “Pedro Silva”-endereço = “Brasilia”-telefone = 2733589-RG = 5889993-CPF = 23887877
Um objeto é apresentadocomo uma classe cujonome é sublinhado.
O nome do objeto é opcional.
Fernando Albuquerque - [email protected]
Interações entre objetos
n Mensagens :» Possibilitam interação entre os objetos
» Contém nome do objeto, do método e parâmetros
menu_principal.seleciona ( segunda_opcao ) ;
objeto método parâmetro
emissor receptor
solicitação
resposta
Fernando Albuquerque - [email protected]
Interações entre objetos
n Notação UML :» Podem ser usados diagramas de colaboração ou
diagramas de seqüência
» Ambos representam as interações entre os objetos
» Diagramas de seqüência focam no tempo e os decolaboração focam nas ligações entre os objetos
» Ambos podem ser usados para descrever a execuçãode uma operação, de um caso de uso ou um cenáriode interação
Fernando Albuquerque - [email protected]
Interações entre objetos
n Diagramas de seqüência :
:Tela Autenticação
: Usuário
1 : autenticar ( nome , senha )
Objeto
Ativação
Mensagem
Linha da vida
Fernando Albuquerque - [email protected]
Interações entre objetos
n Diagramas de colaboração :
Sensor Temperatura Monitor Temperatura
Motor
1: analisar ( Temperatura )
2: desligar ( )
Mensagem enviadaentre objetos
Ligações que são instâncias derelacionamentos entre classes