1 orientação a objetos: encapsulamento e classificação alcides calsavara

27
Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

1

Orientação a Objetos: Encapsulamento e

Classificação

Alcides Calsavara

Page 2: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

2

Sistema Orientado a Objetos

Um sistema orientado a objetos é uma coleção de objetos que interagem entre si.

Um objeto interage com outro através de uma mensagem que causa um estímulo.

Page 3: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

3

Interação entre Objetos

Page 4: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

4

Objeto

Um objeto possui um comportamento e um estado :– o comportamento é forma como reage a

estímulos– o estado modifica-se de acordo com o

comportamento

Page 5: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

5

Comportamento e Estado

Page 6: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

6

Encapsulamento

Separação dos aspectos externos de um objeto dos seus detalhes internos de implementação

O estado de um objeto somente é acessível a partir da implementação de seu comportamento

Page 7: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

7

Guarantia de Encapsulamento

Page 8: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

8

Comportamento

O comportamento de um objeto é definido por um conjunto de métodos

Um estímulo causa a execução de um método

Um estímulo pode ser uma invocação explícita de um método ou um evento relevante para o objeto

Page 9: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

9

Execução de Métodos

invocação evento

m ( ) e

m ( ) m ( )

Page 10: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

10

Estado

O estado de um objeto é composto por um conjunto de valores de atributos

Page 11: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

11

Classe

Uma classe descreve um conjunto de objetos: as instâncias da classe

Uma classe descreve o comportamento e a composição do estado de todos os seus objetos

Cada classe deve ter um nome distinto

Page 12: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

12

Classes e Objetos

Page 13: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

13

Tipos

Um tipo pode ser primitivo ou uma classe

Uma classe é um tipo abstrato de dados (ADT)

Page 14: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

14

Tipos Primitivos

Os tipos primitivos incluem:– números inteiros: byte, short, int, long– números reais: float, double– valores lógicos: boolean– caracteres: char

Page 15: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

15

Classes de Bibliotecas

Exemplos:– String– Applet– Button– System

Page 16: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

16

Método Cada método possui uma assinatura,

um tipo de retorno (primitivo ou classe) e uma implementação

A assinatura de um método é composta por um nome e uma lista de parâmetros

Cada parâmetro tem um nome e um tipo (primitivo ou classe)

Page 17: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

17

Atributo

Cada atributo tem um nome e um tipo (primitivo ou classe)

Um objeto que possui um atributo cujo tipo é uma classe é um objeto composto, pois contém outro objeto

Page 18: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

18

Atributos em Classes e Objetos

b=truek=7

boolean bint k

int xString s

x =10

v=Pariss=

char[] v

A B

String

Page 19: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

19

Visibilidade e Encapsulamento

Um atributo deve preferencialmente ser qualificado como privado (private)

Um método pode ser tanto qualificado como privado como público (public)

O conjunto de métodos públicos de uma classe define a sua inteface

Page 20: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

20

Estrutura de uma Classe Uma classe contém um conjunto de

atributos e um conjunto de métodos– os atributos devem ter nomes distintos– os métodos devem ter assinaturas distintas

Cada objeto possui um conjunto próprio de valores dos atributos e o conjunto de métodos da classe

Page 21: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

21

Classe e Encapsulamento

Os valores dos atributos de um objeto somente são acessíveis a partir dos seus métodos

Page 22: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

22

Criação de Objetos

Método construtor– toda classe tem um ou mais métodos

construtores– um método construtor tem o mesmo nome

da classe e não tem retorno Operador new

– a criação de um novo objeto se dá com a invocação de um método construtor através do operador new

Page 23: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

23

Objeto e Referência

Todo objeto é criado dinamicamente pelo operador new e tem a classe (tipo) especificada após esse operador

Um objeto pode ser referenciado e ter seus métodos invocados

Um objeto é eliminado quando não mais é referenciado

Page 24: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

24

Classe com Múltiplos Construtores

Cada construtor deve ter uma assinatura própria

Um construtor pode invocar outro através do operador this

O operador this também pode ser usado para resolver ambigüidade quando há coincidência de nomes entre parâmetro e atributo

Page 25: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

25

Qualificador static

Em um atributo: indica que o atributo tem uma única ocorrência para todas as instâncias da classe

Em um método: indica que o método pode ser invocado indendentemente de uma instância da classe– um método static acessa apenas atributos

static

Page 26: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

26

Qualificador finalem atributos

O qualificador final em um atributo indica que este tem um valor constante

Page 27: 1 Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara

27

Finalização de um atributo - Exemplo

class Geometria

{

public static final float PI = 3.1416;

private final String PROMPT = "Geom>";

...

}