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

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Classes Abstratas e Interfaces
Herança, Polimorfismo e Classes Abstratas em Java
Prof. Thiago Pereira Rique
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Persistência de objetos em arquivo texto usando Java
1 Orientação a Objetos: Herança Alcides Calsavara.
Java: Pacotes e Modificadores de Visibilidade
Herança, sobrecarga e ligação dinâmica zHerança zReferência super zSobrecarga de métodos zSobreposição zLigação dinâmica de métodos zfinal.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Classes Abstratas Profa
Wagner Santos C. de Jesus
Capítulo 13 Pacotes. 2 Capítulo 13 – Pacotes Pacotes Pacote Cláusula package Cláusula import Executando uma classe de pacote Modificadores de acesso.
1 Aula 7 Herança. 2003/2004 Programação Orientada para Objectos 2 Conceitos fundamentais: Herança Polimorfismo Ligação dinâmica.
A linguagem C#.
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Programação Orientada a Objetos com Java
C# Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa Propriedades.
JAVA Orientação a Objetos
Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05.
Interfaces.
Hashing - Espalhamento
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Capítulo 1 Tipo enumerado.
Professora Lucélia Oliveira
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Programação orientada a objectos em C++
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
Wagner Santos C. de Jesus
Aula Prática 1 Monitoria IP/CC (~if669). Verificação Dinâmica de Tipos Métodos de superclasses e subclasses: Uso de métodos de subclasses quando se é.
Implementação Orientada a Objetos – Aula 03
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Estrutura de Controle em JAVA
Classes Abstratas e Interface
Capítulo 1. Classes internas  Classe interna  Instância da classe interna  Referências na classe interna  Modificadores de membros  Classe interna.
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Herança e Arquitetura em camadas
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Herança Modelagem e Programação Orientada a Objetos
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Modificadores Programação II.
1 Java: Modificador abstract para classes e métodos Alcides Calsavara.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Laboratório de Programação II Método main Dados e Métodos de Classes.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Visual C# (parte 3) Prof. Igor Conrado Alves de Lima – Orientação a objetos, Modificadores de acesso, Lista (List), e tratamento.
Linguagem Java Programação II.
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Transcrição da apresentação:

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

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

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

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

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 ... }

Finalização de uma classe 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.

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); } }