conceitos oop

22
Fernando Albuquerque - [email protected] Conceitos Orientação a Objetos Fernando Albuquerque 061-2733589 [email protected]

Upload: angelo-martins

Post on 25-Dec-2015

216 views

Category:

Documents


0 download

DESCRIPTION

asdasd

TRANSCRIPT

Page 1: Conceitos Oop

Fernando Albuquerque - [email protected]

Conceitos Orientação a Objetos

Fernando Albuquerque

061-2733589

[email protected]

Page 2: Conceitos Oop

Fernando Albuquerque - [email protected]

Tópicos

n Classes

n Objetos

n Mensagens e métodos

n Herança e hierarquias

n Exemplos de classes

Page 3: Conceitos Oop

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

Page 4: Conceitos Oop

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 );

}

}

Page 5: Conceitos Oop

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

Page 6: Conceitos Oop

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

Page 7: Conceitos Oop

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

Page 8: Conceitos Oop

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

Page 9: Conceitos Oop

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

Page 10: Conceitos Oop

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

Page 11: Conceitos Oop

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

Page 12: Conceitos Oop

Fernando Albuquerque - [email protected]

Relacionamentos entre classes

n Notação UML :

Conta Especial Conta Investimento

Conta Corrente Cliente11..*1..* 1

Associação

Generalização

Page 13: Conceitos Oop

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

Page 14: Conceitos Oop

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

Page 15: Conceitos Oop

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}

Page 16: Conceitos Oop

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 }

Page 17: Conceitos Oop

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

Page 18: Conceitos Oop

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.

Page 19: Conceitos Oop

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

Page 20: Conceitos Oop

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

Page 21: Conceitos Oop

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

Page 22: Conceitos Oop

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