Programação OO
Instituto Federal de Goiás
Campus Luziânia
Técnico Em Informática     
ramirovictor3@gmail.com
Sobrecarga de métodos e construtores
• A sobrecarga (overload em inglês) é a
implementação, em uma mesma classe ou em
classes ligadas pelo mecanismo de herança, de
duas ou mais versões para um mesmo método, de
modo que manifestem comportamentos distintos.
• Sobrecarregar um método é escrever métodos com
nomes iguais, porém, com quantidade e tipos de
parâmetros de entrada diferentes.
Prof. Ramiro Victor 2
Sobrecarga de métodos e construtores
Prof. Ramiro Victor 3
Sobrescrita de métodos e construtores
 Se um método herdado não satisfaz, podemos redefini-lo
(sobrescrevê-lo)
• A sobrescrita (override em inglês) é a
implementação de métodos em subclasses que
possuem o mesmo nome e mesma assinatura de
métodos de sua superclasse, de tal forma que anule
o comportamento que ele apresentava em sua
superclasse ou apenas acrescente novas instruções.
Prof. Ramiro Victor 4
Sobrescrita métodos e construtores
• exemplo da sobrescrita de métodos
Prof. Ramiro Victor 5
Sobrescrita e sobrecarga de métodos e
construtores
• A classe Object possui um método chamado
toString(), que tem como objetivo retornar uma
representação em String do objeto em questão.
• Segundo o javadoc, é recomendado que todas as
subclasses sobrescrevam este método.
Prof. Ramiro Victor 6
toString(),
Prof. Ramiro Victor 7
Polimorfismo
Prof. Ramiro Victor 8
Polimorfismo
• Polimorfismo é uma palavra de origem grega que
significa muitas formas.
 Característica de Orientação a Objetos na qual
se admite tratamento idêntico para objetos
diferentes baseado em relações de semelhança;
 Em outras palavras, onde uma classe base é
esperada, aceita-se qualquer uma de suas
subclasses
• Também acontece quando subtipos herdam um
comportamento de um supertipo, porém o
executam de forma diferenciada.
Prof. Ramiro Victor 9
Polimorfismo
Prof. Ramiro Victor 10
Polimorfismo
Prof. Ramiro Victor 11
Public class Forma {
public void desenhar() {
System.out.println("Forma");
}
}
public class Quadrado extends Forma{
public void desenhar(){
System.out.println(“Quadrado”);
}
}
public class Circulo extends Forma{
public void desenhar(){
System.out.println(“Circulo”);
}
}

Programação OO - Java

  • 1.
    Programação OO Instituto Federalde Goiás Campus Luziânia Técnico Em Informática      ramirovictor3@gmail.com
  • 2.
    Sobrecarga de métodose construtores • A sobrecarga (overload em inglês) é a implementação, em uma mesma classe ou em classes ligadas pelo mecanismo de herança, de duas ou mais versões para um mesmo método, de modo que manifestem comportamentos distintos. • Sobrecarregar um método é escrever métodos com nomes iguais, porém, com quantidade e tipos de parâmetros de entrada diferentes. Prof. Ramiro Victor 2
  • 3.
    Sobrecarga de métodose construtores Prof. Ramiro Victor 3
  • 4.
    Sobrescrita de métodose construtores  Se um método herdado não satisfaz, podemos redefini-lo (sobrescrevê-lo) • A sobrescrita (override em inglês) é a implementação de métodos em subclasses que possuem o mesmo nome e mesma assinatura de métodos de sua superclasse, de tal forma que anule o comportamento que ele apresentava em sua superclasse ou apenas acrescente novas instruções. Prof. Ramiro Victor 4
  • 5.
    Sobrescrita métodos econstrutores • exemplo da sobrescrita de métodos Prof. Ramiro Victor 5
  • 6.
    Sobrescrita e sobrecargade métodos e construtores • A classe Object possui um método chamado toString(), que tem como objetivo retornar uma representação em String do objeto em questão. • Segundo o javadoc, é recomendado que todas as subclasses sobrescrevam este método. Prof. Ramiro Victor 6
  • 7.
  • 8.
  • 9.
    Polimorfismo • Polimorfismo éuma palavra de origem grega que significa muitas formas.  Característica de Orientação a Objetos na qual se admite tratamento idêntico para objetos diferentes baseado em relações de semelhança;  Em outras palavras, onde uma classe base é esperada, aceita-se qualquer uma de suas subclasses • Também acontece quando subtipos herdam um comportamento de um supertipo, porém o executam de forma diferenciada. Prof. Ramiro Victor 9
  • 10.
  • 11.
    Polimorfismo Prof. Ramiro Victor11 Public class Forma { public void desenhar() { System.out.println("Forma"); } } public class Quadrado extends Forma{ public void desenhar(){ System.out.println(“Quadrado”); } } public class Circulo extends Forma{ public void desenhar(){ System.out.println(“Circulo”); } }