Your SlideShare is downloading. ×
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java - Aula 4 - Sobrecarga de construtores, UML e Herança

15,519

Published on

Java - Aula 4 - Sobrecarga de construtores, UML e Herança de Classes

Java - Aula 4 - Sobrecarga de construtores, UML e Herança de Classes

Published in: Education, Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,519
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
369
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Aula de Java 04 UNIDADE-SERRA Prof. Moisés Omêna
  • 2. Sobrecarga de Construtores public class Professor { // instance variables - replace the example below with your own private int codigo; private String nome; private String disciplina; private String turno; public Professor() { } public Professor(int cod, String nom){ this.codigo = cod; this.nome= nom; } }
  • 3. Classes - UML
  • 4. Classes Em termos de POO para poder tratar os objetos começamos criando classes , neste caso irei criar a classe chamada Cachorro. "Uma classe representa um conjunto de objetos que possuem comportamentos e características comuns".
  • 5. Classes - UML "Na UML o nome de uma classe é um texto contendo letras e dígitos. UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``DataReserva''). É melhor também manter nomes de classe no singular, classes por default ``contem'' mais de um objeto, o plural é implícito.". [Nicolas Anquetil]
  • 6. Propriedades e Métodos quando definimos uma classe precisamos definir duas coisas: Propriedades - Informações específicas relacionadas a uma classe de objeto. São as características dos objetos que as classes representam. Ex Cor , altura , tamanho , largura , etc... Métodos: São ações que os objetos de uma classe podem realizar. Ex: Latir , correr , sentar , comer, etc.
  • 7. Classes possibilitam um modelo para criar quantos objetos você desejar de um tipo particular especificar a estrutura e o comportamento (operações) dos objetos, que são instâncias destas. Criar objetos que possuirão todas as características e comportamentos definidos pela classe
  • 8. Aqui temos Órion Um objeto da classe Cachorro. Em termos de POO acabamos de criar uma instância da classe Cachorro e a chamamos Órion. Quando criamos uma nova instância de uma classe dizemos que estamos instanciando a classe.
  • 9. Classes em UML A representação de uma classe usa um retângulo dividido em três partes: Cachorro Nome Cor Altura Tamanho Atributos Peso Latir Correr Métodos Comer
  • 10. atributos e operações Os diagrama se classes ilustram atributos e operações de uma classe e as restrições como que os objetos podem ser conectados ; descrevem também os tipos de objetos no sistema e os relacionamentos entre estes objetos que podem ser : associações e abstrações.
  • 11. Visibilidade a visibilidade dos atributos e operações em uma classe utiliza-se as seguintes marcas e significados: + público - visível em qualquer classe # protegido - qualquer descendente pode usar - privado - visível somente dentro da classe
  • 12. Relacionamento entre classes Os objetos tem relações entre eles: um professor ministra uma disciplina para alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relações são representadas também no diagrama de classe. [Nicolas Anquetil]
  • 13. Tipos de relações Geralmente as classes não estão sós e se relacionam entre si. O relacionamento e a comunicação entre as classes definem responsabilidades A UML reconhece três tipos mais importantes de relações: dependência, associação e generalização (ou herança). Associações : Agregação e composição Generalização (herança) Dependências
  • 14. Representações - notação : Associação : São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes. A associação pode existir entre classes ou entre objetos. Uma associação entre a classe Professor e a classe disciplina (um professor ministra uma disciplina) significa que uma instância de Professor (um professor específico) vai ter uma associação com uma instância de Disciplina. Dependência - São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe.
  • 15. Representações - notação : Generalização (herança : simples ou composta) - Relacionamento entre um elemento mais geral e um mais específico. Onde o elemento mais específico herda as propriedades e métodos do elemento mais geral. A relação de generalização também é conhecida como herança no modelo a objetos. Agregação Regular - tipo de associação ( é parte de , todo/parte) onde o objeto parte é um atributo do todo ; onde os objetos partes somente são criados se o todo ao qual estão agregados seja criado. Pedidos é composto por itens de pedidos. Composição - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde as parte só podem pertencer ao todo e são criadas e destruídas com ele.
  • 16. Diagrama de classes lista todos os conceitos do domínio que serão implementados no sistema e as relações entre os conceitos. define a estrutura do sistema a desenvolver. O diagrama de classes não surge do nada ele é consequência do prévio levantamento de requisitos, definição de casos de usos e classes.
  • 17. exemplo Se você tivesse que desenvolver um sistema para automatizar um consultório dentário. As etapas básicas envolvidas seriam: – Levantamento e análise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultório – Definição dos elementos do sistema : Paciente , agenda , dentista , serviço , contrato , consulta , pagamento , etc.. – Definição das classes : paciente , dentista , exame , agenda , serviço – Definir os atributos e métodos das classes :
  • 18. Após toda esta análise você chega no diagrama de classes do sistema (representado abaixo a título de exemplo ilustrativo)
  • 19. Herança em Java A Herança provém de uma classe que herda atributos e métodos de outras classes. Para facilitar o estudo de caso, darei um exemplo de um Microcomputador.
  • 20. herança em orientação a objetos representa a implementação da generalização. Herança é o compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico. ESPECIALIZAÇÃO GENERALIZAÇÃO VEÍCULOS UTILITÁRIOS PASSAGEIROS ESPORTE PASSEIO Ex: a subclasse Utilitário herda todos os atributos e operações da superclasse Veículos.
  • 21. generalização e herança 1. Generalização é a relação entre uma classe e uma ou mais versões refinadas dessa classe. 2. A classe que está sendo refinada é chamada de superclasse e cada versão refinada é subclasse. 3. Os atributos e as operações da superclasse podem ser exibidos em suas subclasses, conseqüentemente, cada subclasse é considerada herdeira dos recursos da superclasse. 4. Você pode organizar as classes, usando a herança para compartilhar a estrutura comum. 5. Um link de generalização significa que uma classe pode herdar uma série de atributos e operações da classe pai.
  • 22. Herança 1. Mecanismo que permite o compartilhamento de características comuns a partir de uma superclasse 2. Subclasses herdam propriedades da Superclasse 3. Em Modelo Conceitual: Superclasses são Tipos Subclasses são Subtipos
  • 23. Polimorfismo significa a capacidade de assumir muitas formas.
  • 24. HERANÇA
  • 25. Generalização - Especialização
  • 26. Herança Pessoa/Professor/Aluno
  • 27. Classe Pessoa public class Pessoa { private int codigo; private int nome; public Pessoa () { } public int getCodigo () { return codigo; } public void setCodigo (int val) { this.codigo = val; } public int getNome () { return nome; } public void setNome (int val) { this.nome = val; } }
  • 28. Classe aluno public class Aluno extends Pessoa { private String Turma; public Aluno () { } public String getTurma () { return Turma; } public void setTurma (String val) { this.Turma = val; } public int getCodigo () { return 0; } public void setCodigo (int val) { } public int getNome () { return 0; } public void setNome (int val) { } }
  • 29. Classe Professor public class Professor extends Pessoa { private String disciplina; private int cargaHoraria; public Professor () { } public int getCargaHoraria () { return cargaHoraria; } public void setCargaHoraria (int val) { this.cargaHoraria = val; } public String getDisciplina () { return disciplina; } public void setDisciplina (String val) { this.disciplina = val; } public int getCodigo () { return 0; }
  • 30. Utilizar BlueJ para criar classes abaixo sendo que pessoa física e pessoa jurídica herdam de pessoa, crie também os diferentes construtores das mesmas Pessoa Pessoa Física Pessoa Jurídica
  • 31. Crie as classes abaixo definidas

×