Como eu uso em uma classe o SUPER?
Não entendi muito para que serve e quando usar?
Como eu uso em uma classe o SUPER?
Não entendi muito para que serve e quando usar?
Super Classes
Um dos aspectos mais importantes da OOP é a capacidade de usar campos e métodos de uma classe previamente construída. Por meio da extensão de classes simples podemos construir classes maiores, acrescentando àquelas mais campos e métodos, obtendo com isto mais funcionalidades. Neste processo, há uma grande economia no esforço de codificação. Sem esse recurso, freqüentemente seria necessário recodificar grande parte dos programas para acrescentar-lhes funcionalidade ou fazer modificações significativas.
Ao derivar uma classe, estamos primeiramente fazendo uma cópia da classe parente. É exatamente isto que obtemos se deixarmos vazio o corpo da subclasse. Tal classe se comportaria exatamente como sua superclasse. Entretanto, podemos acrescentar novos campos e métodos à subclasse, além de sobrepor métodos existentes na superclasse, declarando-os exatamente como na superclasse, exceto por dar um corpo diferente.
Fonte: http://www.dm.ufscar.br/~waldeck/curso/java/part27.html
Vc pode usar o super() para acionar o constructor da classe base ou acionar um método que foi sobrescrito.
Será mais visto qdo vc fizer um override(sobrescrita)
blz
Naum sei se é isso, mas acho que quando vc usa o super é como se estivesse instanciando em objeto da classe superior..
Exemplo de uso do super:
class Pessoa {
String nome;
Pessoa(String nome) {
this.nome = nome;
}
}
class Estudante extends Pessoa {
Estudante(String nome) {
super(nome);
}
}
Isso que vc disse betoecomp, seria sempre em uma mesma classe?
tipo
class A
{
ConstrutorA()
{
}
Metodo A()
{
}
}
class B
{
ConstrutorB()
{
}
Metodo B()
{
}
}
Como usar o SUPER ou SUB nesta classe do main?
class Principal
{
public static void main(String args[])
{
}
//Metodos. . . . . . .
}
class C
{
ConstrutorC()
{
}
Metodo C()
{
}
}
isso tupo por junto?
Oi gpd38,
naum entendi direito o que vc quiz dizer com a pergunta?
seria melhor se vc colocasse uma breve descrição do que vc tah tentando implementar…
Daí eu poderia te dizer qual seria a forma correta de usar o super e como usar!!
oK, vlw
MESMO COGIGO DO MEU ULTIMO COMENTARIO
Eu vou criar uma classe somente com o nome de classA.java, porem tenho a classe B,C e a Principal junto.
Vou mexer com o main e tenho que acessar as classes A,B,C.
Como uso o SUPER no main?
class A{
ConstrutorA(){}
Metodo A(){}
}
class B{
ConstrutorB(){}
Metodo B(){}
}
//Como usar o SUPER ou SUB nesta classe do main?
class Principal{
public static void main(String args[]){}
A tipoa = new A();
B tipob = new B();
C tipoc = new C();
//USAR O SUPER E O SUB ! ! !
}
class C{
ConstrutorC(){}
Metodo C(){}
}
[b] Acho que entendi o que vc quis dizer…
O problema eh que o super() é utilizado quando vc faz uma extensão de classe…
E pelo que vejo naum eh isso que vc quer fazer aí…
Acredito que no método main naum eh possivel o uso do super()
[/b]
gpd38,
Dê uma lida neste material:
http://www.dca.fee.unicamp.br/cursos/PooJava/heranca/super.html
T+
