Programação Orientada a Objetos Relacionamentos entre classes

Documentos relacionados
15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Linguagem de Programação II Herança

Linguagem de Programação. Diagrama de classes

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

Project-Based Learning TADS MS Diagrama de Classes

INF1013 MODELAGEM DE SOFTWARE

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Java para Desktop. Programação Orientada à Objetos 2 JSE

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

PROGRAMAÇÃO ORIENTADA A

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

UML. Modelando um sistema

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.


9 Classes Abstractas e Interfaces

ASSOCIAÇÃO ENTRE CLASSES

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Linguagem de Programação II Relacionamento entre classes

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Aula 04 Introdução à Programação Orientada à Objetos

O que estas classes possuem em comum? 1) 2) 3)

04/11/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE CLASSE

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz

Modelagem Orientada a Objetos com UML

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Linguagem de Programação III

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Programação Java (nível intermediário) 4. Polimorfismo

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

POO29004 Programação Orientada a Objetos

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Requisitos de sistemas

POO29004 Programação Orientada a Objetos

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Relacionamentos entre objetos

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Análise de Sistemas 4º Bimestre (material 3)

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Linguagem Algorítmica OO. Linguagem Algorítmica

Universidade Federal de Uberlândia

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Programação Orientada a Objetos JAVA - NETBEANS

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Azevedo Dorça Programação Orientada a Objetos II. Padrões de Projeto

Simbolos/Componentes desse diagrama:

Unified Modeling Language (UML)

Orientação a Objetos AULA 09

Composição e Herança. carro meucarro = new carro();

LEIC-A / MEIC-A 2007/2008 (1º

1 Introdução e Conceitos básicos

Introdução à UML. Prof. Jesus José de Oliveira Neto

COMPORTAMENTOS - Observações

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Polimorfismo em Java TM. por Jorge H C Fernandes CESAR-DI-UFPE Recife, 1999

Professor Leonardo Cabral da Rocha Soares Lattes:

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

UML. Diagrama de Classe

Diagrama de Classes (Notação) - Aula 11 (parte 2)

Consideram-se todas as actividades, desde a análise inicial até ao software se tornar obsoleto

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Capítulo 5 Modelação do Sistema 1

DIAGRAMAS DE CLASSE UML

Herança - Conceitos Básicos

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

BCC Engenharia de Software Professor Rodrigo Andrade

PROJETO DE DESENVOLVIMENTO DE SOFTWARE

Programação Orientada a Objetos

Nome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

POO29004 Programação Orientada a Objetos

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares

Modelagem de Processos

Herança - Conceitos Básicos

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Transcrição:

Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo

RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação

RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia Esses são os possíveis relacionamentos entre as classes existentes em um sistema de software composição generalização associação

GENERALIZAÇÃO UML E CÓDIGO JAVA Duas classes possuem esse relacionamento quando uma é derivada da outra, representando uma herança class Pessoa String nome; int idade; A herança simples é representada por extends na subclasse Class Funcionario extends Pessoa int matricula;

REALIZAÇÃO UML E CÓDIGO Esse tipo de relacionamento existe quando uma classe implementa uma interface Public interface dadosprofissionais public abstract String getdadoscadastrais(); Aqui há uma herança múltipla O termo implements representa a herança por interface Class Medico extends Pessoa implements dadosprofissionais private int numcrm; public abstract String getdadoscadastrais() return this.numcrm;

ASSOCIAÇÃO UML E CÓDIGO Esse tipo de relacionamento existe quando um objeto da classe X pode ter instancias deobjetos da mesma classe ou de outras classes. Um funcionário pode Ambos os lados permitem navegação (navegação dupla). ter vários dependentes (* no lado de Dependente) Public class Funcionario extends Pessoa private int matricula; private Dependente[ ] dependente; Class Dependente extends Pessoa private int tipoparentesco; private Funcionario funcionario; Um dependente só possui uma instância de Funcionario

ASSOCIAÇÃO UML E CÓDIGO Neste caso, só funcionário enxerga Dependente. Neste caso, a associação tem um sentido Public class Funcionario extends Pessoa private int matricula; private Dependente[ ] dependente; Class Dependente extends Pessoa private int tipoparentesco; Um funcionário pode ter vários dependentes, mas dependente não possui instância de Funcionario devido ao sentido da associação para o Dependente

DEPENDENCIA UML E CÓDIGO Esse tipo de relacionamento existe quando uma classe pode ser afetada por mudanças em outra classe. Public class Funcionario extends Pessoa private int matricula; private Dependente[ ] dependente; public boolean analisarveiculo (Veiculo v)... return true; Essa classe não possui instância de Veiculo, mas utiliza-o como parâmetro em método

COMPOSIÇÃO E AGREGAÇÃO COMPOSIÇÃO: Um objeto pode ser formado por outros objetos LIVRO é formado por um ou mais CAPÍTULOS AGREGAÇÃO: Um objeto pode ter outros objetos CARRO possui PORTA, MOTOR e PNEU

COMPOSIÇÃO Um livro é composto de um ou mais capítulos Um capítulo não existe sem o livro Se não existir capítulo, não existe livro REPRESENTAÇÃO: Linha com losango preenchido no lado dominante

COMPOSIÇÃO CÓDIGO SEMELHANTE A ASSOCIAÇÃO

AGREGAÇÃO CÓDIGO SEMELHANTE À ASSOCIAÇÃO Carro possui Motor, Porta e Pneu Motor, Porta e Pneu existem como objetos independentes REPRESENTAÇÃO: Linha com losango vazio no lado dominante

AGREGAÇÃO

COMPOSIÇÃO, AGREGAÇÃO E ASSOCIAÇÃO NOTAS Agregação e Composição podem ser substituídas por uma Associação, pois... Agregação e Composição são tipos de associações Representam relacionamento TEM UM Carro tem um Motor Livro tem um Capitulo NÃO ESQUECER QUE HERANÇA É UM RELACIONAMENTO É UM

COMPOSIÇÃO, MODELANDO O BANCO DE DADOS: As classes A agregação permite Estabelecer atores dentro de um filme, Podendo até remover ator de um filme. Um ator não é exclusivo de um filme Pode-se ter um ator em diferentes filmes A composição permite estabelecer Comentário em um filme. No entanto, Neste caso, um comentário é exclusivo De um filme. Um comentário só faz parte de um determinado filme. Um comentário não faz parte de outros filmes

COMPOSIÇÃO, MODELANDO O BANCO DE DADOS: O DER Resultante Do diagrama de classes pode-se gerar o DER. Sendo que a agregação implicou na geração da tabela filme_ator entre filme e ator no Diagrama de Entidade correspondente. A composição gerou um relacionamento 1:N entre filme e comentário. A associação gerou um relacionamento 1:N entre produtor (que recebe a seta) e o filme. 1 filme N N N 1 Filme_ator 1 N comentario ator 1 produtor

RELACIONAMENTO ENTRE CLASSES F I M