A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Orientação a Objetos: Modificador Final para Métodos e Classes Alcides Calsavara.

Apresentações semelhantes


Apresentação em tema: "1 Orientação a Objetos: Modificador Final para Métodos e Classes Alcides Calsavara."— Transcrição da apresentação:

1 1 Orientação a Objetos: Modificador Final para Métodos e Classes Alcides Calsavara

2 2 Qualificador final em métodos e classes u Em um método: indica que o método não pode ser sobrecarregado (redefinido em subclasses) u Em uma classe: indica que a classe não pode ser especializada (o que implica que todo método da classe é final).

3 3 Finalização de um método u Razão única: eficiência! Um método final é expandido (in-line) em todo local onde é chamado, dispensando ligação dinâmica. u Recomendação de uso: para métodos acessores (get, put), pois não devem ser sobrecarregados por subclasses. u final por default: métodos private, static e métodos de classe final.

4 4 Finalização de um método - Exemplo 1 class Trem { public final void acelere(float veloc) {... }... }... Trem t = new Trem (... ) ; t.acelere (80.0f); // expansão in-line...

5 5 Finalização de um método - Exemplo 2 class Pessoa {private int idade;private String nome; public Pessoa(int i, String n) { idade = i; nome = n; } // métodos acessores public final int get_idade( ) { return idade; } public final String get_nome( ) { return new String(nome); } public final void set_idade(int i) { idade = i; } public final void set_nome(String s) { nome = s; } // outros métodos... }

6 6 Finalização de uma classe u Razões: –Evitar que outros especializem a sua classe, pois esta já está concebida de forma completa (não faltam atributos e nem métodos). Exemplos: InetAddress, Socket. –Para maior eficiência, pois não há possibilidade de haver instâncias mais especializadas e, assim, o código pode ser otimizado para manipular instâncias da classe final. Exemplo: String.

7 7 Finalização de uma classe - Exemplo final class Livro { private String titulo; private int ano; Livro (String t, int a) { titulo = t; ano = a; } public void imprime( ) { System.out.println(titulo + ano); } }


Carregar ppt "1 Orientação a Objetos: Modificador Final para Métodos e Classes Alcides Calsavara."

Apresentações semelhantes


Anúncios Google