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.

Slides:



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

Programação em Java Prof. Maurício Braga
Soluções Iterativas com Laços
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
Orientação a Objetos: Modificador Final para Métodos e Classes
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.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Acoplamento Dinâmico
Polimorfismo e Classes Abstratas Profa
Programação Concorrente
Linguagem de Programação II
Linguagem de Programação II
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.
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
Capítulo 9 Herança 1.
Classes e objetos Arrays e Sobrecarga
Herança e Polimorfismo
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Concorrência em Java Threads em Java.
Tipos Agregados Homogêneos e Listas
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
Sobrecarga e Encapsulamento
Interfaces.
Programação Orientada à Objetos
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Professora Lucélia Oliveira
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
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
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Orientação a Objetos Parte II
Programação Orientada a Objetos - Java
Implementação Orientada a Objetos – Aula 03
Curso de Aprendizado Industrial Desenvolvedor WEB
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
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.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Funções Matemáticas e de String
Classes Abstratas e Interface
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.
Herança e Arquitetura em camadas
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Herança Modelagem e Programação Orientada a Objetos
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
Herança.
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
2 – Revisão de Programação Orientada a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Laboratório de Programação II Método main Dados e Métodos de Classes.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Transcrição da apresentação:

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 Tânia Preto / Prof. Robinson Vida

Overloading X Overriding (i/iv) São formas diferentes de manipular um mesmo método; Override: ◦ É a sobrescrita de método; ◦ Ocorre no processo de herança, onde um método declarado e implementado na classe pai, pode ser redefinido na classe filha; ◦ Métodos marcados como final, private ou static não são herdados e por este motivo não podem ser sobrescritos; ◦ Outro ponto importante é que os métodos sobrescritos não podem declarar um modificador de acesso mais restritivo do que o que foi sobrescrito. Ex.: se na classe pai um método é protected ( pode ser acessado fora do pacote ao ser herdado ), na classe filha o respectivo método sobrescrito não pode ser default ( acessado só no pacote ) ou muito menos private ( acessado só na classe );

Overloading X Overriding (ii/iv) Override – Exemplo 1- Java: class Musician { // classe pai public int yearsOfStruggle; public void play(int howLong) { //metodo... } public void starve() { //metodo... } class Pianist extends Musician { //classe filha // override (sobrescrita) do método play public void play(int howLong) {... }

Overloading X Overriding (ii/iv) Override – Exemplo 2- C++: class Base { public: virtual void DoSomething( ) { x = x + 5; } private: int x; }; class Derived : public Base { public: virtual void DoSomething( ) { //sobreescreve o anterior y = y + 5; //acrescenta comando Base::DoSomething(); // invoca método da classe base } private: int y; };

Overloading X Overriding (ii/iv) Overload: ◦ É a sobrecarga de método; ◦ Os métodos sobrecarregados contém o mesmo nome, mas com tipos de parâmetros e/ou retornos diferentes; ◦ Não é o mesmo método (pois varia nos parâmetros e/ou retorno) e não sobrescreve o método pai; ◦ Métodos sobrecarregados podem ser usados na mesma classe ou subclasse, oferecendo mais opções aos usuários; ◦ Soluções mais elegantes podem ser obtidas a partir do uso de sobrecarga conforme mostra o exemplo 1; ◦ Construtor pode ser usado dentro de construtor na definição de novos métodos sobrecarregados, conforme exemplo 2;

Overloading X Overriding (ii/iv) Overload - Exemplo 1 java - - Sobrecarga oferecendo nova solução: Seja uma implementação de métodos para mostrar na tela diferentes tipos de dados: public class DataShow {... public void showString(String s) {... } public void showInt(int i) {... } public void showDouble(double f) {... } public void showIntDouble(int i, double f) {... } } // Neste exemplo foi usado um método diferente para cada tipo.

Overloading X Overriding (ii/iv) Overload - Exemplo 1 - cont. - Implementação reescrita usando o conceito de overload: public class DataShow {... public void show(String s) {... } public void show(int i) {... } public void show(double f) {... } public void show(int i, double f) {... }

Overloading X Overriding (ii/iv) Overload - Exemplo 2 – Java - Sobrecarga de método construtor public class A { public A(int x, float y) { //construtor 1 this(y); // usa construtor 2... } public A(float x) { // construtor 2 this((int)x, x); // usa construtor }

Overloading X Overriding (ii/iv) Overload - Exemplo 3 – C++ Sobrecarga public class Test { public static void calcular(int x, int y){ System.out.println(“dois numeros: ” + (x+ y)); } public static void calcular(int x, int y, int z){ System.out.println(“tres numeros: ” + (x+ y+ z)); } public static void main(String [] args){ int a = 10; int b = 20; int c = 30; calcular(b,c); // mostra: dois numeros: 50 calcular(b,c,a); // mostra: tres numeros: 60 } }