Professional Documents
Culture Documents
Prog2 Teorica6
Prog2 Teorica6
Versão 0.1
Ficha(s) Pratica(s) 6
Também vimos algumas terminologias usadas nos diversos livros para referir-se aos termos da
Herança.
Classe Object
Em Java todas as classes que não declaramos explicitamente a sua super classe, o compilador
interpreta a classe como se fosse um Object
Demonstração 1:
Os métodos da classe Object que ira-se usar mais nas aulas são equals() e toString()
1
ISUTC – Programação II 2013 Mujhahid Abdul Karim
Versão 0.1
Método toString()
• Sintaxe - Demonstração 3:
Veja a linha de código abaixo, estamos a criar um objecto da classe Funcionário, preenchemos
os dados e estamos a imprimir o objecto, o que ira aparecer?
Demonstração 4:
Resultado da Demonstração 4:
Agora, finalmente de modo a ficar mais claro, veja o método toString abaixo, aqui esta a acontecer
a Sobreescrita (veja a aula passada), onde estamos invocando o toString da classe Object e
estamos a sobreescrever porque não queremos usar método da maneira que foi implementado pela
classe Object.
Analogia: Isso não se difere de um filho que herda um Veiculo do Pai, e ele sente a necessidade de
usar o Veiculo, mas antes disso ele manda pintar com outra cor, muda as jantes e coloca um
aparelho de som melhor. E ainda assim ele continua usando o carro do Pai, mas da maneira que ele
gosta.
2
ISUTC – Programação II 2013 Mujhahid Abdul Karim
Versão 0.1
Resultado da Demonstração 4:
Então, todo esse tempo que tentávamos imprimir um objecto, ele primeiro procurava se a nossa
classe tem um método toString(), como nunca encontrava ele assumia o método toString() da classe
Object.
E por ultimo já deve ter notado que, não há necessidade de invocar o método toString() da seguinte
maneira:
Sobrecarregar (overload)
Este conceito de forma alguma deve ser confundido com sobreescrita ou o termo conhecido em
inglês override. A regra do sobreescrever deve ser feito mantendo a assinatura do método e os
parâmetros, ou seja a assinatura deve estar intacta.
O conceito de Sobrecarregar entende-se como ter dois métodos com o mesmo nome, mas com
parâmetros diferentes, veja a demonstração abaixo, métodos iguais com o numero de parâmetros
diferentes.
3
ISUTC – Programação II 2013 Mujhahid Abdul Karim
Versão 0.1
Classe Funcionário
package Aula6;
Classe Vendedor
package Aula6;
4
ISUTC – Programação II 2013 Mujhahid Abdul Karim
Versão 0.1
Metodo Main
package Aula6;
System.out.println(func);
}
}