Você está na página 1de 179

Tcnico em Informtica Linguagem de Programao Orientada a Objetos Orientao a Objetos

Alex Helder Cordeiro de Oliveira


Instituto Federal de Braslia - Campus Braslia

2o semestre de 2011

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

1 / 60

Objetivo da Aula

Denir a Programao Orientada a Objetos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

2 / 60

Objetivo da Aula

Denir a Programao Orientada a Objetos; Apresentar os principais conceitos de Orientao a Objeto;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

2 / 60

Objetivo da Aula

Denir a Programao Orientada a Objetos; Apresentar os principais conceitos de Orientao a Objeto; Demonstrar a importncia do desenvolvimento orientado a objetos.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

2 / 60

Sumrio

Orientao a Objetos Conceitos Bsicos Objetos Classes Atributos Mtodos Relacionamento entre Classes Polimorsmo UML

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

3 / 60

Orientao a Objetos

Orientao a Objetos

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

4 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

um paradigma de programao.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

um paradigma de programao. Nova pergunta:

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

um paradigma de programao. Nova pergunta: O que paradigma?

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

um paradigma de programao. Nova pergunta: O que paradigma? Do grego pardeigma: literalmente modelo, a representao de um padro a ser seguido; Na Filosoa grega, era considerado a uncia (uxo) de um pensamento;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

O que Programao Orientada a Objetos?

um paradigma de programao. Nova pergunta: O que paradigma? Do grego pardeigma: literalmente modelo, a representao de um padro a ser seguido; Na Filosoa grega, era considerado a uncia (uxo) de um pensamento; Para ns, paradigma se dene na forma como o programador lida com um determinado problema; Um paradigma de programao fornece e determina a viso que o programador possui sobre a estruturao e execuo do programa.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

5 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao; Cada um apropriado para a resoluo de um tipo de problema;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao; Cada um apropriado para a resoluo de um tipo de problema; Muitas vezes, a escolha do paradigma sofre inuencia cultural ou de conhecimento cientco.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao; Cada um apropriado para a resoluo de um tipo de problema; Muitas vezes, a escolha do paradigma sofre inuencia cultural ou de conhecimento cientco. Alguns paradigmas: Imperativo: Os programas se constituem em uma seqncia de comandos. Exemplo: Fortran;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao; Cada um apropriado para a resoluo de um tipo de problema; Muitas vezes, a escolha do paradigma sofre inuencia cultural ou de conhecimento cientco. Alguns paradigmas: Imperativo: Os programas se constituem em uma seqncia de comandos. Exemplo: Fortran; Funcional: Programas usam blocos de cdigo construdos para agir como funes matemticas. Exemplo: LISP;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao
Existem diversos paradigmas de programao; Cada um apropriado para a resoluo de um tipo de problema; Muitas vezes, a escolha do paradigma sofre inuencia cultural ou de conhecimento cientco. Alguns paradigmas: Imperativo: Os programas se constituem em uma seqncia de comandos. Exemplo: Fortran; Funcional: Programas usam blocos de cdigo construdos para agir como funes matemticas. Exemplo: LISP; Lgica: A entrada e a sada so relacionadas atravs de regras lgicas e de inferncia. Exemplo: PROLOG;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

6 / 60

Orientao a Objetos

Paradigmas de programao

Os dois paradigmas de programao mais inuentes hoje: Programao Estruturada: Um tipo de programao imperativa, reduz os problemas a trs tipos de estruturas: sequncias, deciso e interao. Exemplo: PASCAL, C (ANSI);

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

7 / 60

Orientao a Objetos

Paradigmas de programao

Os dois paradigmas de programao mais inuentes hoje: Programao Estruturada: Um tipo de programao imperativa, reduz os problemas a trs tipos de estruturas: sequncias, deciso e interao. Exemplo: PASCAL, C (ANSI); Programao Orientada a Objetos: Tambm uma variao da programao imperativa onde o foco a modelagem dos dados. Exemplo: C++, Java;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

7 / 60

Orientao a Objetos

Orientao a Objetos Objetivos

Gerenciar a complexidade crescente dos sistemas sendo construdos nas empresas;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

8 / 60

Orientao a Objetos

Orientao a Objetos Objetivos

Gerenciar a complexidade crescente dos sistemas sendo construdos nas empresas; Viabilizar o trabalho conjunto de grandes equipes;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

8 / 60

Orientao a Objetos

Orientao a Objetos Objetivos

Gerenciar a complexidade crescente dos sistemas sendo construdos nas empresas; Viabilizar o trabalho conjunto de grandes equipes; Aumentar a produtividade dos analistas e programadores;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

8 / 60

Orientao a Objetos

Orientao a Objetos Objetivos

Gerenciar a complexidade crescente dos sistemas sendo construdos nas empresas; Viabilizar o trabalho conjunto de grandes equipes; Aumentar a produtividade dos analistas e programadores; Reutilizao de cdigo pronto e depurado escrito em sistemas anteriores ou adquiridos no mercado.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

8 / 60

Conceitos

Conceitos Bsicos

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

9 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe; Atributos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe; Atributos; Mtodos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe; Atributos; Mtodos; Relacionamento entre Classes;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe; Atributos; Mtodos; Relacionamento entre Classes; Polimorsmo;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Orientao a Objetos Conceitos Bsicos

Objeto; Classe; Atributos; Mtodos; Relacionamento entre Classes; Polimorsmo; UML.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

10 / 60

Conceitos

Objetos

Objetos

Um objeto representa qualquer coisa do mundo real (seja fsica ou conceitual) que seja manipulada pelo nosso programa, ou representa blocos de construo do prprio programa.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

11 / 60

Conceitos

Objetos

Objetos

O programa;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

O programa; Uma conta-corrente;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

O programa; Uma conta-corrente; Um organograma;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

O programa; Uma conta-corrente; Um organograma; Um cliente;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

O programa; Uma conta-corrente; Um organograma; Um cliente; Uma janela;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

O programa; Uma conta-corrente; Um organograma; Um cliente; Uma janela; Um boto.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

12 / 60

Conceitos

Objetos

Objetos

Assim como as coisas no mundo real, os objetos tem caractersticas e aes possveis.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

13 / 60

Conceitos

Objetos

Objetos

Assim como as coisas no mundo real, os objetos tem caractersticas e aes possveis. Atributos: so informaes sobre o objeto, como a sua cor, seu peso, o saldo da conta-corrente, etc.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

13 / 60

Conceitos

Objetos

Objetos

Assim como as coisas no mundo real, os objetos tem caractersticas e aes possveis. Atributos: so informaes sobre o objeto, como a sua cor, seu peso, o saldo da conta-corrente, etc. Mtodos: so aes que podem ser feitas com ou pelo objeto, como depositar em uma conta-corrente ou mudar a cor de uma janela.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

13 / 60

Conceitos

Objetos

Comunicao entre Objetos

Os objetos se comunicam atravs de mensagens;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

14 / 60

Conceitos

Objetos

Comunicao entre Objetos

Os objetos se comunicam atravs de mensagens; Mensagens so requisies para que o objeto execute uma de suas aes;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

14 / 60

Conceitos

Objetos

Comunicao entre Objetos

Os objetos se comunicam atravs de mensagens; Mensagens so requisies para que o objeto execute uma de suas aes; O objeto executa a requisio da mensagem com base em seus prprios atributos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

14 / 60

Conceitos

Objetos

Comunicao entre Objetos

Os objetos se comunicam atravs de mensagens; Mensagens so requisies para que o objeto execute uma de suas aes; O objeto executa a requisio da mensagem com base em seus prprios atributos; A mensagem pode especicar tambm parametros de entrada (argumentos) e de sada (retorno);

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

14 / 60

Conceitos

Objetos

Comunicao entre Objetos

Os objetos se comunicam atravs de mensagens; Mensagens so requisies para que o objeto execute uma de suas aes; O objeto executa a requisio da mensagem com base em seus prprios atributos; A mensagem pode especicar tambm parametros de entrada (argumentos) e de sada (retorno); Na prtica, a mensagem a chamada de um dos mtodos do objeto;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

14 / 60

Conceitos

Classes

Classes

Se vrios objetos so semelhantes, dizemos que estes objetos pertencem a uma mesma classe.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

15 / 60

Conceitos

Classes

Classes

Se vrios objetos so semelhantes, dizemos que estes objetos pertencem a uma mesma classe.
Possuem o mesmo tipo de informao em seus atributos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

15 / 60

Conceitos

Classes

Classes

Se vrios objetos so semelhantes, dizemos que estes objetos pertencem a uma mesma classe.
Possuem o mesmo tipo de informao em seus atributos; Podem realizar os mesmos mtodos.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

15 / 60

Conceitos

Classes

Classes

Se vrios objetos so semelhantes, dizemos que estes objetos pertencem a uma mesma classe.
Possuem o mesmo tipo de informao em seus atributos; Podem realizar os mesmos mtodos.

Assim, uma classe ContaCorrente pode denir todos os atributos e mtodos que uma conta-corrente qualquer pode ter.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

15 / 60

Conceitos

Classes

Instncia

Dizemos que um objeto em particular de uma dada classe uma instncia desta classe.

Objeto Instncia

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

16 / 60

Conceitos

Classes

Classe Instncia

A clsse funcionrio

Os funcionrios Fernando e Ricardo O corsa verde placa LCW 1649 A nota scal #21234 referente a um gaveteiro de escritrio

A classe carro de Passeio A classe nota scal

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

17 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo;

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo; a combinao dos atributos e dos mtodos que manitulam estes atributos em um nico objeto.

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo; a combinao dos atributos e dos mtodos que manitulam estes atributos em um nico objeto. Concentramos os aspectos essenciais de um determinado grupo de objetos no contexto de interesse para denir a classe qual eles pertencem ;

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo; a combinao dos atributos e dos mtodos que manitulam estes atributos em um nico objeto. Concentramos os aspectos essenciais de um determinado grupo de objetos no contexto de interesse para denir a classe qual eles pertencem ; O encapsulamento separa aspectos internos e externos de um objeto;

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo; a combinao dos atributos e dos mtodos que manitulam estes atributos em um nico objeto. Concentramos os aspectos essenciais de um determinado grupo de objetos no contexto de interesse para denir a classe qual eles pertencem ; O encapsulamento separa aspectos internos e externos de um objeto; Disponibiliza externamente apenas o que ser necessrio para o reuso da classe;

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Encapsulamento
uma forma de modularizar o cdigo; a combinao dos atributos e dos mtodos que manitulam estes atributos em um nico objeto. Concentramos os aspectos essenciais de um determinado grupo de objetos no contexto de interesse para denir a classe qual eles pertencem ; O encapsulamento separa aspectos internos e externos de um objeto; Disponibiliza externamente apenas o que ser necessrio para o reuso da classe; Desenvolvimento de classes encapsuladas corretamente tornam o cdigo mais robusto e facilita o seu reuso.

Abstrao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 18 / 60

Conceitos

Classes

Classes em Programas de Computador

Em um programa Orientado a Objetos, escrevemos (programamos) denies de classes em vez de funes e subrotinas;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

19 / 60

Conceitos

Classes

Classes em Programas de Computador

Em um programa Orientado a Objetos, escrevemos (programamos) denies de classes em vez de funes e subrotinas; Cada instncia possui o seu prprio conjunto de atributos, independente de outras instncias da mesma ou de outras classes;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

19 / 60

Conceitos

Classes

Classes em Programas de Computador

Em um programa Orientado a Objetos, escrevemos (programamos) denies de classes em vez de funes e subrotinas; Cada instncia possui o seu prprio conjunto de atributos, independente de outras instncias da mesma ou de outras classes; Todas as instncias de uma mesma classe compartilham as mesmas denies de mtodos.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

19 / 60

Conceitos

Classes

Classes e Instncias no Computador

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

20 / 60

Conceitos

Atributos

Atributos

So as caractersticas do objeto;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

21 / 60

Conceitos

Atributos

Atributos

So as caractersticas do objeto; Consiste no conjunto de variveis denidas dentro da classe;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

21 / 60

Conceitos

Atributos

Atributos

So as caractersticas do objeto; Consiste no conjunto de variveis denidas dentro da classe; A classe dene quais os atributos e seu tipo, mas o valor prprio do objeto.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

21 / 60

Conceitos

Atributos

Atributos

So as caractersticas do objeto; Consiste no conjunto de variveis denidas dentro da classe; A classe dene quais os atributos e seu tipo, mas o valor prprio do objeto. O valor do atributo em um objeto independente do valor do mesmo atributo em outro objeto da mesma classe.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

21 / 60

Conceitos

Mtodos

Mtodos

So as aes que o objeto pode realizar;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

22 / 60

Conceitos

Mtodos

Mtodos

So as aes que o objeto pode realizar; Cada mtodo consiste em um conjunto de instrues seqenciais que podem retornar um resultado;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

22 / 60

Conceitos

Mtodos

Mtodos

So as aes que o objeto pode realizar; Cada mtodo consiste em um conjunto de instrues seqenciais que podem retornar um resultado; Todos os objetos de uma mesma clsse possuem as mesmas denies de mtodo;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

22 / 60

Conceitos

Mtodos

Mtodos

So as aes que o objeto pode realizar; Cada mtodo consiste em um conjunto de instrues seqenciais que podem retornar um resultado; Todos os objetos de uma mesma clsse possuem as mesmas denies de mtodo; A execuo do mtodo utiliza os atributos do objeto cujo mtodo est sendo executado.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

22 / 60

Conceitos

Mtodos

Assinatura de Mtodos

A assinatura de um mtodo denida pelo nome do mtodo, com seu tipo de retorno e argumentos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

23 / 60

Conceitos

Mtodos

Assinatura de Mtodos

A assinatura de um mtodo denida pelo nome do mtodo, com seu tipo de retorno e argumentos; A assinatura necessria para a identicao do mtodo.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

23 / 60

Conceitos

Relacionamento entre Classes

Relacionamento entre Classes

Associao;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

24 / 60

Conceitos

Relacionamento entre Classes

Relacionamento entre Classes

Associao; Composio;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

24 / 60

Conceitos

Relacionamento entre Classes

Relacionamento entre Classes

Associao; Composio; Herana.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

24 / 60

Conceitos

Relacionamento entre Classes

Associao

Tambm conhecido como clientela;

Lembrando que o envio de mensagem corresponde a chamada de mtodo de outro objeto. Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 25 / 60

Conceitos

Relacionamento entre Classes

Associao

Tambm conhecido como clientela; o envio de mensagem de um objeto para outro objeto ;

Lembrando que o envio de mensagem corresponde a chamada de mtodo de outro objeto. Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 25 / 60

Conceitos

Relacionamento entre Classes

Associao

Tambm conhecido como clientela; o envio de mensagem de um objeto para outro objeto ; um mecanismo pelo qual um objeto utiliza os recursos de outro.

Lembrando que o envio de mensagem corresponde a chamada de mtodo de outro objeto. Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 25 / 60

Conceitos

Relacionamento entre Classes

Composio

quando um objeto atributo de outro;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

26 / 60

Conceitos

Relacionamento entre Classes

Composio

quando um objeto atributo de outro; Um objeto pode ser composto por um conjunto de outros objetos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

26 / 60

Conceitos

Relacionamento entre Classes

Composio

quando um objeto atributo de outro; Um objeto pode ser composto por um conjunto de outros objetos; Facilita o trabalho com objetos muito complexos.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

26 / 60

Conceitos

Relacionamento entre Classes

Herana ou Especializao

Uma classe pode ser derivada de outra classe, e desta forma herdar tanto seus atributos quanto os seus mtodos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

27 / 60

Conceitos

Relacionamento entre Classes

Herana ou Especializao

Uma classe pode ser derivada de outra classe, e desta forma herdar tanto seus atributos quanto os seus mtodos; A criao de subclasses (classes derivadas de uma superclasse) permite o aumento incremental da funcionalidade dos nossos objetos ou sua especializao;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

27 / 60

Conceitos

Relacionamento entre Classes

Herana ou Especializao

Uma classe pode ser derivada de outra classe, e desta forma herdar tanto seus atributos quanto os seus mtodos; A criao de subclasses (classes derivadas de uma superclasse) permite o aumento incremental da funcionalidade dos nossos objetos ou sua especializao; Se precisarmos de um objeto que faa o mesmo que outro objeto faz e mais alguma coisa, aproveitamos o cdigo que j est pronto e testado, denindo uma subclasse contendo apenas as novidades.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

27 / 60

Conceitos

Relacionamento entre Classes

Especializao de Classes

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

28 / 60

Conceitos

Relacionamento entre Classes

Herana Mltipla

a capacidade de uma classe herdar de duas ou mais classes distintas;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

29 / 60

Conceitos

Relacionamento entre Classes

Herana Mltipla

a capacidade de uma classe herdar de duas ou mais classes distintas; Necessria ateno com relao a nome de membros duplicados nas hierarquias das superclasses;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

29 / 60

Conceitos

Relacionamento entre Classes

Herana Mltipla

a capacidade de uma classe herdar de duas ou mais classes distintas; Necessria ateno com relao a nome de membros duplicados nas hierarquias das superclasses; necessrio algum mecanismo para determinar a qual membro herdado que o acesso se refere;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

29 / 60

Conceitos

Relacionamento entre Classes

Herana Mltipla

a capacidade de uma classe herdar de duas ou mais classes distintas; Necessria ateno com relao a nome de membros duplicados nas hierarquias das superclasses; necessrio algum mecanismo para determinar a qual membro herdado que o acesso se refere; Algumas linguagens, como o Java, no usam.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

29 / 60

Conceitos

Polimorsmo

Polimorsmo

Propriedade de se usar o mesmo nome para membros diferentes;

Mtodos e atributos.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 30 / 60

Conceitos

Polimorsmo

Polimorsmo

Propriedade de se usar o mesmo nome para membros diferentes;


Polimorsmo ad hoc;

Mtodos e atributos.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 30 / 60

Conceitos

Polimorsmo

Polimorsmo

Propriedade de se usar o mesmo nome para membros diferentes;


Polimorsmo ad hoc; Polimorsmo de herana;

Mtodos e atributos.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 30 / 60

Conceitos

Polimorsmo

Polimorsmo

Propriedade de se usar o mesmo nome para membros diferentes;


Polimorsmo ad hoc; Polimorsmo de herana; Polimorsmo paramtrico.

Mtodos e atributos.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 30 / 60

Conceitos

Polimorsmo

Polimorsmo Ad Hoc

Tambm conhecido como sobrecarga ;

Overloading.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 31 / 60

Conceitos

Polimorsmo

Polimorsmo Ad Hoc

Tambm conhecido como sobrecarga ; Pode-se denir mtodos com mesmo nome, porm com argumentos diferentes;

Overloading.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 31 / 60

Conceitos

Polimorsmo

Polimorsmo Ad Hoc

Tambm conhecido como sobrecarga ; Pode-se denir mtodos com mesmo nome, porm com argumentos diferentes; A diferena nos argumentos torna a assinatura diferente, diferenciando assim o mtodo;

Overloading.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 31 / 60

Conceitos

Polimorsmo

Polimorsmo Ad Hoc

Tambm conhecido como sobrecarga ; Pode-se denir mtodos com mesmo nome, porm com argumentos diferentes; A diferena nos argumentos torna a assinatura diferente, diferenciando assim o mtodo; Em Java, a sobrecarga pode mudar tanto a quantidade quanto os tipos dos argumentos, mas no pode mudar apenas o tipo de valor do retorno de um mtodo.

Overloading.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 31 / 60

Conceitos

Polimorsmo

Polimorsmo de Herana

Tambm conhecido como sobrescrita ou sobreposio

Overriding.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 32 / 60

Conceitos

Polimorsmo

Polimorsmo de Herana

Tambm conhecido como sobrescrita ou sobreposio Uma classe derivada pode sobrepor membros herdados, modicando o seu comportamento ou anulando-os completamente;

Overriding.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 32 / 60

Conceitos

Polimorsmo

Polimorsmo de Herana

Tambm conhecido como sobrescrita ou sobreposio Uma classe derivada pode sobrepor membros herdados, modicando o seu comportamento ou anulando-os completamente; Se um membro declarado tanto na superclasse quanto na subclasse, o membro da subclasse predomina.

Overriding.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 32 / 60

Conceitos

Polimorsmo

Polimorsmo Paramtrico

Tambm conhecido como Template ou Generics ;

Como chamado em C++. Como chamado em Java.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 33 / 60

Conceitos

Polimorsmo

Polimorsmo Paramtrico

Tambm conhecido como Template ou Generics ; Permite criar um mtodo que no tenha um tipo pr-denido;

Como chamado em C++. Como chamado em Java.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 33 / 60

Conceitos

Polimorsmo

Polimorsmo Paramtrico

Tambm conhecido como Template ou Generics ; Permite criar um mtodo que no tenha um tipo pr-denido; Sua tipagem ser um parmetro a ser invocado na chamada do mtodo;

Como chamado em C++. Como chamado em Java.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 33 / 60

Conceitos

Polimorsmo

Polimorsmo Paramtrico

Tambm conhecido como Template ou Generics ; Permite criar um mtodo que no tenha um tipo pr-denido; Sua tipagem ser um parmetro a ser invocado na chamada do mtodo; De acordo com o parmetro passado, o comportamento pode vir a ser alterado.

Como chamado em C++. Como chamado em Java.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 33 / 60

Conceitos

Polimorsmo

Late Binding

Em portugus, ligao tardia;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

34 / 60

Conceitos

Polimorsmo

Late Binding

Em portugus, ligao tardia; um mecanismo pelo qual a denio do mtodo a ser invocado ocorra somente durante a execuo do programa;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

34 / 60

Conceitos

Polimorsmo

Late Binding

Em portugus, ligao tardia; um mecanismo pelo qual a denio do mtodo a ser invocado ocorra somente durante a execuo do programa; necessrio para a utilizao de polimorsmo, pois permite que seja programada a chamada do mtodo sem a necessidade de especicar a sua implementao especca;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

34 / 60

Conceitos

Polimorsmo

Late Binding

Em portugus, ligao tardia; um mecanismo pelo qual a denio do mtodo a ser invocado ocorra somente durante a execuo do programa; necessrio para a utilizao de polimorsmo, pois permite que seja programada a chamada do mtodo sem a necessidade de especicar a sua implementao especca; Quando o mtodo a ser invocado denido durante a compilao do programa, chamamos de ligao prematura ou early binding.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

34 / 60

Conceitos

Polimorsmo

Converso de Tipo

a habilidade que alguns elementos possuem de mudar de tipo;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

35 / 60

Conceitos

Polimorsmo

Converso de Tipo

a habilidade que alguns elementos possuem de mudar de tipo; Nem toda converso possvel. necessrio um nvel de compatibilidade.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

35 / 60

Conceitos

Polimorsmo

Converso de Tipo

a habilidade que alguns elementos possuem de mudar de tipo; Nem toda converso possvel. necessrio um nvel de compatibilidade. Implicita: Normalmente, caracterizada pela atribuio de um elemento de tipo menos abrangente (ou uma subclasse) para uma varivel de tipo mais abrangente (ou uma superclasse).

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

35 / 60

Conceitos

Polimorsmo

Converso de Tipo

a habilidade que alguns elementos possuem de mudar de tipo; Nem toda converso possvel. necessrio um nvel de compatibilidade. Implicita: Normalmente, caracterizada pela atribuio de um elemento de tipo menos abrangente (ou uma subclasse) para uma varivel de tipo mais abrangente (ou uma superclasse). Cast: uma converso explicita. O programador deve conhecer a compatibilidade entre os tipos e declarar a converso especca no cdigo fonte.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

35 / 60

Conceitos

Polimorsmo

Classes Abstratas
Muitas vezes temos conceitos que se aplicam a todo um conjunto de classes, determinando comportamentos que gostaramos de herdar de uma superclasse, mas no faria sentido instanciar objetos desta superclasse;

sem implementao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 36 / 60

Conceitos

Polimorsmo

Classes Abstratas
Muitas vezes temos conceitos que se aplicam a todo um conjunto de classes, determinando comportamentos que gostaramos de herdar de uma superclasse, mas no faria sentido instanciar objetos desta superclasse; Denimos ento esta superclasse como sendo abstrata, de modo que ela possa fornecer estado e comportamento para classes derivadas, ou utiliza-la como tipo de dados para referncias, mas no seja permitido criar instncias;

sem implementao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 36 / 60

Conceitos

Polimorsmo

Classes Abstratas
Muitas vezes temos conceitos que se aplicam a todo um conjunto de classes, determinando comportamentos que gostaramos de herdar de uma superclasse, mas no faria sentido instanciar objetos desta superclasse; Denimos ento esta superclasse como sendo abstrata, de modo que ela possa fornecer estado e comportamento para classes derivadas, ou utiliza-la como tipo de dados para referncias, mas no seja permitido criar instncias; Classes abstratas podem conter mtodos abstratos ;

sem implementao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 36 / 60

Conceitos

Polimorsmo

Classes Abstratas
Muitas vezes temos conceitos que se aplicam a todo um conjunto de classes, determinando comportamentos que gostaramos de herdar de uma superclasse, mas no faria sentido instanciar objetos desta superclasse; Denimos ento esta superclasse como sendo abstrata, de modo que ela possa fornecer estado e comportamento para classes derivadas, ou utiliza-la como tipo de dados para referncias, mas no seja permitido criar instncias; Classes abstratas podem conter mtodos abstratos ; Coloca-se a assinatura do mtodo, mas no o seu corpo;

sem implementao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 36 / 60

Conceitos

Polimorsmo

Classes Abstratas
Muitas vezes temos conceitos que se aplicam a todo um conjunto de classes, determinando comportamentos que gostaramos de herdar de uma superclasse, mas no faria sentido instanciar objetos desta superclasse; Denimos ento esta superclasse como sendo abstrata, de modo que ela possa fornecer estado e comportamento para classes derivadas, ou utiliza-la como tipo de dados para referncias, mas no seja permitido criar instncias; Classes abstratas podem conter mtodos abstratos ; Coloca-se a assinatura do mtodo, mas no o seu corpo; Sua sub-classe obrigada a implementar o mtodo.

sem implementao
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 36 / 60

Conceitos

Polimorsmo

Classes Concretas

So classes que podem ser instanciadas;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

37 / 60

Conceitos

Polimorsmo

Classes Concretas

So classes que podem ser instanciadas; Classes concretas no podem ter mtodos abstratos;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

37 / 60

Conceitos

Polimorsmo

Classes Concretas

So classes que podem ser instanciadas; Classes concretas no podem ter mtodos abstratos; Elas devem implementar todos os mtodos abstratos de suas superclasses.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

37 / 60

Conceitos

Polimorsmo

Interfaces

Interfaces so componentes de software que denem a viso que o mundo externo ter de um determinado grupo de classes;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

38 / 60

Conceitos

Polimorsmo

Interfaces

Interfaces so componentes de software que denem a viso que o mundo externo ter de um determinado grupo de classes; Elas contm as assinaturas dos mtodos pblicos que devem constar nas classes que as implementem;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

38 / 60

Conceitos

Polimorsmo

Interfaces

Interfaces so componentes de software que denem a viso que o mundo externo ter de um determinado grupo de classes; Elas contm as assinaturas dos mtodos pblicos que devem constar nas classes que as implementem; Interfaces nunca contm mtodos implementados, apenas suas assinaturas.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

38 / 60

Conceitos

Polimorsmo

Interfaces

Interfaces so componentes de software que denem a viso que o mundo externo ter de um determinado grupo de classes; Elas contm as assinaturas dos mtodos pblicos que devem constar nas classes que as implementem; Interfaces nunca contm mtodos implementados, apenas suas assinaturas. Elas funcionam como um contrato entre a classe e o sistema: Quando uma classe implementa uma interface, ela est se comprometendo a fornecer o comportamento publicado pela interface;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

38 / 60

Conceitos

Polimorsmo

Pacotes

Tambm conhecido com namespace;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

39 / 60

Conceitos

Polimorsmo

Pacotes

Tambm conhecido com namespace; So referncias para a organizao lgica de classes e interfaces;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

39 / 60

Conceitos

Polimorsmo

Pacotes

Tambm conhecido com namespace; So referncias para a organizao lgica de classes e interfaces; Um pacote pode conter outros pacotes, formando uma organizao hierrquica;

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

39 / 60

Conceitos

Polimorsmo

Pacotes

Tambm conhecido com namespace; So referncias para a organizao lgica de classes e interfaces; Um pacote pode conter outros pacotes, formando uma organizao hierrquica; Sua organizao facilita o desenvolvimento e reuso de classes.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

39 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe;

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento;

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento; Evitar acessos indevidos a membros por outras classes ;

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento; Evitar acessos indevidos a membros por outras classes ; Tipos de visibilidade:

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento; Evitar acessos indevidos a membros por outras classes ; Tipos de visibilidade: Membros pblicos: Acessveis em qualquer lugar do programa.

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento; Evitar acessos indevidos a membros por outras classes ; Tipos de visibilidade: Membros pblicos: Acessveis em qualquer lugar do programa. Membros privados: Acessveis somente nos mtodos da prpria classe.

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Visibilidade
Permite controlar o acesso aos membros de uma classe; Fundamental para o encapsulamento; Evitar acessos indevidos a membros por outras classes ; Tipos de visibilidade: Membros pblicos: Acessveis em qualquer lugar do programa. Membros privados: Acessveis somente nos mtodos da prpria classe. Membros protegidos: So acessveis por mtodos da classe ou de suas subclasses.

O que pode prejudicar a robustez do programa. public. private. protected.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 40 / 60

Conceitos

Polimorsmo

Construtores e Destrutores

Construtor: Mtodo responsvel por alocar recursos (principalmente memria) necessrios ao funcionamento do objeto e por inicializar os atributos do objeto.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

41 / 60

Conceitos

Polimorsmo

Construtores e Destrutores

Construtor: Mtodo responsvel por alocar recursos (principalmente memria) necessrios ao funcionamento do objeto e por inicializar os atributos do objeto. executado quando o objeto estiver sendo criado.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

41 / 60

Conceitos

Polimorsmo

Construtores e Destrutores

Construtor: Mtodo responsvel por alocar recursos (principalmente memria) necessrios ao funcionamento do objeto e por inicializar os atributos do objeto. executado quando o objeto estiver sendo criado. Destrutor: Mtodo responsvel por liberar memria (e outros recursos) alocada dinamicamente pela classe e para eliminar as possveis referncias classe, quando ela no mais existir.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

41 / 60

Conceitos

Polimorsmo

Construtores e Destrutores

Construtor: Mtodo responsvel por alocar recursos (principalmente memria) necessrios ao funcionamento do objeto e por inicializar os atributos do objeto. executado quando o objeto estiver sendo criado. Destrutor: Mtodo responsvel por liberar memria (e outros recursos) alocada dinamicamente pela classe e para eliminar as possveis referncias classe, quando ela no mais existir. Deve ser executado quando o objeto no for mais necessrio.

Alex Helder (IFB)

LPOO - Orientao a Objetos

2011/2

41 / 60

Conceitos

UML

UML

Linguagem de Modelagem Unicada ;

Unied Modeling Language.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 42 / 60

Conceitos

UML

UML

Linguagem de Modelagem Unicada ; Linguagem visual para realizao de modelagem de sistemas;

Unied Modeling Language.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 42 / 60

Conceitos

UML

UML

Linguagem de Modelagem Unicada ; Linguagem visual para realizao de modelagem de sistemas; Especicao, documentao e estruturao de sistemas;

Unied Modeling Language.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 42 / 60

Conceitos

UML

UML

Linguagem de Modelagem Unicada ; Linguagem visual para realizao de modelagem de sistemas; Especicao, documentao e estruturao de sistemas; Diversos diagramas para representar diferentes vises do sistema: - Comportamental: Dinmica
Diagrama Diagrama Diagrama Diagrama Diagrama de de de de de Casos de Uso; Sequncia; Atividades; Estados; Colaborao.

- Estrutural: Esttica
Diagrama de Classes; Diagrama de Objetos; Diagrama de Componentes; Diagrama de Implantao.

Unied Modeling Language.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 42 / 60

Conceitos

UML

Diagrama de Casos de Uso

Descreve a funcionalidade do sistema;

Usurio ou entidades externas. Funes que o sistema deve ser capaz de realizar. Use Case Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 43 / 60

Conceitos

UML

Diagrama de Casos de Uso

Descreve a funcionalidade do sistema; Composto por atores , casos de uso e o relacionamento entre eles.

Usurio ou entidades externas. Funes que o sistema deve ser capaz de realizar. Use Case Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 43 / 60

Conceitos

UML

Diagrama de Casos de Uso

Descreve a funcionalidade do sistema; Composto por atores , casos de uso e o relacionamento entre eles. Apresenta o que o sistema deve ser capaz de fazer, do ponto de vista dos atores.

Usurio ou entidades externas. Funes que o sistema deve ser capaz de realizar. Use Case Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 43 / 60

Conceitos

UML

Diagrama de Casos de Uso

Use Case Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 44 / 60

Conceitos

UML

Diagrama de Classes

Representao da estrutura e relao entre as classes do programa;

Class Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 45 / 60

Conceitos

UML

Diagrama de Classes

Representao da estrutura e relao entre as classes do programa; provavelmente a mais usada;

Class Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 45 / 60

Conceitos

UML

Diagrama de Classes

Representao da estrutura e relao entre as classes do programa; provavelmente a mais usada; Dene todas as classes e interfaces necessrias ao sistema;

Class Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 45 / 60

Conceitos

UML

Diagrama de Classes

Representao da estrutura e relao entre as classes do programa; provavelmente a mais usada; Dene todas as classes e interfaces necessrias ao sistema; Apresenta todos os relacionamentos que devem existir entre as classes.

Class Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 45 / 60

Conceitos

UML

Diagrama de Classes

Class Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 46 / 60

Conceitos

UML

Diagrama de Sequncia

Representa a sequncia de mensagens enviadas entre os objetos;

Sequence Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 47 / 60

Conceitos

UML

Diagrama de Sequncia

Representa a sequncia de mensagens enviadas entre os objetos; Representam cenrios especcos;

Sequence Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 47 / 60

Conceitos

UML

Diagrama de Sequncia

Representa a sequncia de mensagens enviadas entre os objetos; Representam cenrios especcos; Descreve a colaborao dos objetos ao longo do tempo.

Sequence Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 47 / 60

Conceitos

UML

Diagrama de Sequncia

Sequence Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 48 / 60

Conceitos

UML

Diagrama de Objetos

uma variao do diagrama de classes ;

Utiliza uma notao muito semelhante. Object Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 49 / 60

Conceitos

UML

Diagrama de Objetos

uma variao do diagrama de classes ; Ao invs de apresentar as classes, apresenta os objetos intanciados;

Utiliza uma notao muito semelhante. Object Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 49 / 60

Conceitos

UML

Diagrama de Objetos

uma variao do diagrama de classes ; Ao invs de apresentar as classes, apresenta os objetos intanciados; Apresenta o relacionamento entre os objetos em um cenrio especco;

Utiliza uma notao muito semelhante. Object Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 49 / 60

Conceitos

UML

Diagrama de Objetos

uma variao do diagrama de classes ; Ao invs de apresentar as classes, apresenta os objetos intanciados; Apresenta o relacionamento entre os objetos em um cenrio especco; Exemplicam alguns cenrios para facilitar a compreenso do diagrama de classes.

Utiliza uma notao muito semelhante. Object Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 49 / 60

Conceitos

UML

Diagrama de Objetos

Object Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 50 / 60

Conceitos

UML

Diagrama de Atividades

Representa os uxos conduzidos pela execuo do sistema;

uxo de trabalho Activity Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 51 / 60

Conceitos

UML

Diagrama de Atividades

Representa os uxos conduzidos pela execuo do sistema; Mostra o workow detalhando as possveis decises a serem tomadas durante a execuo das tarefas;

uxo de trabalho Activity Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 51 / 60

Conceitos

UML

Diagrama de Atividades

Activity Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 52 / 60

Conceitos

UML

Diagrama de Componentes

Mostra a organizao entre arquivos de cdigo fonte, bibliotecas, tabelas de banco de dados, executveis, . . . ;

Component Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 53 / 60

Conceitos

UML

Diagrama de Componentes

Mostra a organizao entre arquivos de cdigo fonte, bibliotecas, tabelas de banco de dados, executveis, . . . ; Explicita as relaes, principalmente a dependncia entre os componentes;

Component Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 53 / 60

Conceitos

UML

Diagrama de Componentes

Mostra a organizao entre arquivos de cdigo fonte, bibliotecas, tabelas de banco de dados, executveis, . . . ; Explicita as relaes, principalmente a dependncia entre os componentes; Destaca a funo de cada mdulo para facilitar seu reuso.

Component Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 53 / 60

Conceitos

UML

Diagrama de Componentes

Component Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 54 / 60

Conceitos

UML

Diagrama de Estados

Modelam os objetos como se fossem mquinas de estados nitos;

State Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 55 / 60

Conceitos

UML

Diagrama de Estados

Modelam os objetos como se fossem mquinas de estados nitos; Mostram diferentes estados do objeto durante seu tempo de vida e quais eventos fazem com que mude o seu estado.

State Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 55 / 60

Conceitos

UML

Diagrama de Estados

State Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 56 / 60

Conceitos

UML

Diagrama de Implantao

Modela a distribuio sica dos componentes de hardware e software do sistema;

Componentes fsicos. Componentes lgicos. Deployment Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 57 / 60

Conceitos

UML

Diagrama de Implantao

Modela a distribuio sica dos componentes de hardware e software do sistema; Apresenta como feita a comunicao entre os componentes;

Componentes fsicos. Componentes lgicos. Deployment Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 57 / 60

Conceitos

UML

Diagrama de Implantao

Modela a distribuio sica dos componentes de hardware e software do sistema; Apresenta como feita a comunicao entre os componentes; Representa a congurao e a arquitetura do sistema.

Componentes fsicos. Componentes lgicos. Deployment Diagram.


Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 57 / 60

Conceitos

UML

Diagrama de Implantao

Deployment Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 58 / 60

Conceitos

UML

Diagrama de Colaborao

Mostra as interaes que ocorrem entre os objetos em uma situao especca;

Communication Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 59 / 60

Conceitos

UML

Diagrama de Colaborao

Mostra as interaes que ocorrem entre os objetos em uma situao especca; Semelhante ao diagrama de sequncia, porm com enfaze no relacionamento entre os objetos e sua topologia em destaque.

Communication Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 59 / 60

Conceitos

UML

Diagrama de Colaborao

Communication Diagram.
Alex Helder (IFB) LPOO - Orientao a Objetos 2011/2 60 / 60

Você também pode gostar