Construção de novas Classes em Java            Carlos Melo
ClassesAtributosMétodosHerança
Exemplo UML
Declaração de classesDeclaração  [modificadores]classNomeClasse                                        [extendsSuperClasse...
Atributos da ClasseDeclaração de Atributos[acesso] [chaves] tiponomeAtributo[= expressão];Moderador de Acesso     public: ...
Métodos da classeDeclaração de Métodos[acesso] [chaves] tipoRetorno nomeMétodo( [parâmetros formais] )[throws exceptions]{...
Inicialização e finalização de objetosConstrutor da Classe   Se um método da classe tem o mesmo nome que a classe    este ...
Exemplo criação de classe (1)classCachorroextendsMamífero {// Atributosdos objetos da classeprivateString nome;privateStri...
Exemplo criação de classe (2)class Agent {private String nome;private int valor;// ConstructorsAgent(String s) { nome = s;...
Exemplo de sobre-escrita, sobre-carga,upcaste polimorfismoCliente a = new Cliente();a.lê(); // qual método é chamado?a.lê(...
Interfaces São classes com algumas                Exemplo  restrições                              ArrayListe Vector  são ...
Exemplo de InterfacepublicinterfaceAnimalVoa{voidvoa(int vel);int envergadura();}classMamifero extends SerVivo {StringcorP...
Resumo  Classes = atributos + métodosestados + comportamentosclassX extends Y {static intx = 0;String nome;publicX(String ...
Upcoming SlideShare
Loading in …5
×

Linguagem de programação implementação de classes

1,762 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,762
On SlideShare
0
From Embeds
0
Number of Embeds
481
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Linguagem de programação implementação de classes

  1. 1. Construção de novas Classes em Java Carlos Melo
  2. 2. ClassesAtributosMétodosHerança
  3. 3. Exemplo UML
  4. 4. Declaração de classesDeclaração [modificadores]classNomeClasse [extendsSuperClasse] [implementsInterface] { atributos métodos }Modificadores Classe pública (public): a classe pode ser utilizada por objetos de fora do pacote. Por default, a classe só pode ser acessada no próprio pacote. Classe Abstrata (abstract): não pode ter objetos instanciados Classe final (final): a classe não pode ter subclasses
  5. 5. Atributos da ClasseDeclaração de Atributos[acesso] [chaves] tiponomeAtributo[= expressão];Moderador de Acesso public: o mundo inteiro pode acessar protected: somente os métodos da classe e de suas subclasses podem acessar, ou ainda, estando na mesma package private: somente os métodos da classe podem acessar o atributoChaves static: o atributo é da classe, não do objeto, logo, todos os objetos daclasse compartilham o mesmo valor deste atributo final: o valor do atributo não pode ser alterado (constante) transient: o atributo não é serializado (não é persistente)
  6. 6. Métodos da classeDeclaração de Métodos[acesso] [chaves] tipoRetorno nomeMétodo( [parâmetros formais] )[throws exceptions]{corpo } chaves: static: método da classe e não das instâncias abstract: utilizado somente em classes abstratas, o método não tem corpo final: o método não pode ser sobre-escrito synchronized: declara o método como zona de exclusão mútua no caso de programas concorrentes a passagem de parâmetros em Java sempre é por valor. Um método é identificado pelo seu nome e pelos parâmetros•void x(int a) ≠void x(float a)
  7. 7. Inicialização e finalização de objetosConstrutor da Classe Se um método da classe tem o mesmo nome que a classe este método é um construtor da classe, ou seja, um método que é chamado na criação do objeto (new).class Teste { publicTeste() { .... } public Teste(int i) { .....}.....}Destrutor da Classe (Finalizador) Se a classe possuir um método como o nome finalize, este será chamado antes do objeto ser destruído.protected voidfinalize() throws Throwable { ... }
  8. 8. Exemplo criação de classe (1)classCachorroextendsMamífero {// Atributosdos objetos da classeprivateString nome;privateString cor;private int peso;private float energia;// Construtores(formas da classe)Cachorro(String s) { nome = s; }Cachorro() { nome = "Sem nome"; }// Métodos(comportamentos dos objetos da classe)void setPeso(intv) { peso = v; }intgetPeso() {returnpeso; }voidcorre() { ... }voidlate() { ... }}
  9. 9. Exemplo criação de classe (2)class Agent {private String nome;private int valor;// ConstructorsAgent(String s) { nome = s; valor = 10; }Agent() { nome="Sem nome"; valor = 10; }// Servicosvoid setValor(int v) { valor = v; }void run(int inicial) {System.out.println("Agente " + nome + " rodando....");for (int i=inicial; i <= valor; i++)System.out.println(i);}void run() {run(1);}}class teste {public static void main(String[] args) {Agent t1 = new Agent("Exemplo Construção de classe");t1.setValor(3);t1.run();Agent t2 = new Agent();t2.run(5);}}
  10. 10. Exemplo de sobre-escrita, sobre-carga,upcaste polimorfismoCliente a = new Cliente();a.lê(); // qual método é chamado?a.lê(“Digite:”);Pessoa p;p = a; // upcastp.lê(); // qual método é chamado?p.lê(“Digite:”);
  11. 11. Interfaces São classes com algumas Exemplo restrições ArrayListe Vector são publicas e abstratas (não implementam a contém implementação dos interfaceListque tem métodos) métodosadd,get, ... não tem atributos são utilizadas para implementar Valem as atribuições: herança múltipla. ArrayListal = new... podem ser utilizadas na definição Vector vt = new ... de referências para objetos, ou ... seja, é uma referência para um Listl; objeto que implementa tal interface. l = al; l.add(“X”) ... l = vt; l.add(“Y”)
  12. 12. Exemplo de InterfacepublicinterfaceAnimalVoa{voidvoa(int vel);int envergadura();}classMamifero extends SerVivo {StringcorPelo;...int nroFilhotes() {...}}classMorcego extendsMamiferoimplementsAnimalVoa {void voa(int vel) {....}int envergadura() {....}...}
  13. 13. Resumo Classes = atributos + métodosestados + comportamentosclassX extends Y {static intx = 0;String nome;publicX(String n) {x++;nome = n;}final boolean imp() {}final boolean imp(String x){}}

×