Linguagem de Programação. Diagrama de classes

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

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

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

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

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

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

Herança e Propriedades

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes

PROGRAMAÇÃO ORIENTADA A

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

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

Programação Orientada a Objetos Relacionamentos entre classes

COMPORTAMENTOS - Observações

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

POO29004 Programação Orientada a Objetos

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

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

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

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

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

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

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

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

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

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

Orientação a Objetos AULA 06

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

Programação Orientada a Objetos JAVA - NETBEANS

Linguagem de Programação II Herança

Classe Abstrata e Interface

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

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

Desenvolvimento Web TCC Turma A-1

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

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

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

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

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Linguagem de Programação II Implementação

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

Programação Orientada a Objetos

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

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

Programação Orientada a Objetos II

Programação Orientada a Objetos

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

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

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

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Modelagem de Processos

PROGRAMAÇÃO ORIENTADA A OBJETOS: HERANÇA

9 Classes Abstractas e Interfaces

Encapsulamento. Alberto Costa Neto DComp - UFS

Programação Orientada a Objetos

Programação por Objectos. Java

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

Conceitos de Programação Orientada a Objetos

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

ASSOCIAÇÃO ENTRE CLASSES

Aula 7 POO 1 Herança. Profa. Elaine Faria UFU

Modelo do Mundo Real. Abstração. Interpretação

Introdução à Programação. Encapsulamento e Herança

UML. Diagrama de Classe

Programação Orientada a Objetos em C++: introdução à herança

Interfaces POO. Prof. Marcio Delamaro

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

POO29004 Programação Orientada a Objetos

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013

Interfaces e Classes Abstratas

Linguagem de Programação II Implementação

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

POO29004 Programação Orientada a Objetos

Palavras Reservadas da Linguagem Java

Sobrecarga, Sobreposição e Polimorfismo

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

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Transcrição:

Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG

2 Agenda Diagrama de classes Herança Associação Agregação Exercícios

3 Diagrama de classes Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos.

4 Diagrama de classes Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização

5 Diagrama de classes Classes Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos Devem receber nomes de acordo com o vocabulário do domínio do problema. É comum adotar um padrão para nomeá-las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula.

6 Diagrama de classes Classes Atributos Representam o conjunto de características (estado) dos objetos daquela classe Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: + nome : String

7 Diagrama de classes Classes Métodos Representam o conjunto de operações (comportamento) que a classe fornece Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: + getnome() : String

8 Diagrama de classes Elementos de um diagrama de classes Classes Relacionamentos Associação Agregação Composição Generalização

9 Diagrama de classes Relacionamentos Os relacionamentos possuem: Nome: descrição dada ao relacionamento (faz, tem, possui,...) Sentido de leitura Navegabilidade: indicada por uma seta no fim do relacionamento Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7 Tipo: associação,agregação, composição e generalização Papéis: desempenhados por classes em um relacionamento

10 Diagrama de classes Relacionamentos

11 Diagrama de classes Relacionamentos: Associação Uma associação é um relacionamento estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe. Uma associação é representada por uma linha sólida conectando duas classes.

12 Diagrama de classes Relacionamentos: Associação Indicadores de multiplicidade: 1 Exatamente um 1..* Um ou mais 0..* Zero ou mais (muitos) * Zero ou mais (muitos) 0..1 Zero ou um m..n Faixa de valores (por exemplo: 4..7)

13 Diagrama de classes Relacionamentos: Associação

14 Diagrama de classes Relacionamento: Agregação É um tipo especial de associação Utilizada para indicar todo-parte um objeto parte pode fazer parte de vários objetos todo

15 Diagrama de classes Relacionamento: Composição É uma variante semanticamente mais forte da agregação Os objetos parte só podem pertencer a um único objeto todo e têm o seu tempo de vida coincidente com o dele

16 Diagrama de classes Relacionamento: Generalização É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses)

Diagrama de classes 17

18 Diagrama de classes Exemplo

Diagrama de classes X código Java 19 Exemplo2

20 Herança Capacidade de reutilização de software. Cria uma nova classe a partir de uma classe existente: absorvendo os dados e comportamentos da classe existente; e aprimorando-a com novas capacidades. A subclasse estende a superclasse. Subclasse: Grupo mais especializado de objetos. Comportamentos herdados da superclasse: Podem se personalizar. Comportamentos adicionais.

Hierarquia de classes 21 Superclasse direta: Herdada explicitamente (um nível acima na hierarquia). Superclasse indireta: Herdada de dois ou mais níveis acima na hierarquia. Herança única: Herda de uma superclasse. Herança múltipla: Herda de múltiplas superclasses. O Java não suporta herança múltipla.

Superclasses e subclasses 22 Superclasses e subclasses. Freqüentemente, um objeto de uma classe também é um objeto de uma outra classe. Exemplo: Em geometria, um retângulo é um quadrilátero. A classe Retângulo herda da classe Quadrilátero. Quadrilátero : superclasse. Retângulo : subclasse. A superclasse em geral representa um conjunto maior de objetos do que as subclasses. Exemplo: Superclasse: Veículo Carros, caminhões, barcos, bicicletas Subclasse: Carro Subconjunto mais específico e menor de veículos.

Superclasses e subclasses 23

24 Exemplos de herança Superclasse Aluno Forma Subclasses AlunoDeGraduação, AlunoDePósGraduação Círculo, Triângulo, Retângulo Financiamento FinanciamentoDeCarro, FinanciamentoDeReformaDaCasa, FinanciamentoDeCasa Empregado CorpoDocente, Funcionários ContaBancária ContaCorrente, ContaDePoupança

Superclasses e subclasses 25 Hierarquia de herança: Relacionamentos de herança: estrutura de hierarquia do tipo árvore. Cada classe torna-se: Superclasse: que fornece membros a outras classes. OU Subclasse: que herda membros de outras classes.

Hierarquia de herança Membros Da Comunidade da universidadeo 26

Hierarquia de herança para Forma 27

Membros protected 28 Acesso protected: Nível intermediário de proteção entre public e private. Membros protected acessíveis pelos: membros da superclasse; membros da subclasse; e membros da classe no mesmo pacote. Acesso da subclasse ao membro da superclasse: Palavra-chave super e um ponto (.)

Herança - Exemplo

Herança - Exemplo

Herança - Exemplo

32 Como implementar herança em java? Exemplo: public class Pessoa{ String nome; int idade; } public class Aluno extends Pessoa{ String curso; } public class Professor extends Pessoa{ String formacao; }

33 Exercícios 1. Crie a classe Pessoa, Professor e Aluno e utilize o conceito de herança. Crie uma classe para Teste que contenha um método main, crie objetos do tipo Professor e Aluno, e imprima os valores de cada objeto criado.

Herança exemplo 2 34

35 Herança exemplo 2 class Funcionario { String nome; String registro; public void setnome(string n) { nome = n; } public void setregistro(string r) { registro = r; } public String getnome() { return nome; } } public String getregistro() { return registro; }

36 Herança exemplo 2 class FuncionarioHorista extends Funcionario { private double valorhora; private double horasmensais; // Métodos de acesso para os // dois (2) atributos. } // Método para calcular o salário. class FuncionarioMensalista extends Funcionario { private String cargo; // Métodos de acesso para o // atributo cargo. } // Método para calcular o salário.

37 Herança exemplo 2 public class Principal { } public static void main(string[] a) { } FuncionarioHorista fh = new FuncionarioHorista(); fh.setregistro( 1234 ); fh.setnome( João ); fh.sethorasmensais(25); fh.setvalorhora(100); System.out.println( O salário é igual a + fh.calcularsalario());