E ai pessoal, tudo bom?
Estou com uma duvida…qual a diferença de eu implementar meu código entre essas duas formas:
import java.awt.*;
import javax.swing.*;
public class CalculaValores {
JFrame frame = new JFrame();
CalculaValores(){
}
public static void main(String[] args){
new CalculaValores();
}
}
agora usando o Extends
import java.awt.*;
import javax.swing.*;
public class CalculaValores extends JFrame{
CalculaValores(){
}
public static void main(String[] args){
new CalculaValores();
}
}
quando vc usa extends, CalculaValores vai possuir todos os métodos e atributos da classe JFrame podendo vc acessá-los dentro dessa classe…
fazendo JFrame frame = new JFrame(); vc está criando um atributo dentro da classe CalculaValores e pra acessar os métodos e atributos dentro desse objeto frame vc terá que fazer da seguinte forma frame.<metodo ou atributo>
quando vc usa extends vc esta dizendo que CalculaValores É UM JFrame e da outra forma vc está dizendo que ela TEM UM objeto do tipo JFrame
vlw… estude orientação a objetos… =D
[quote=Marchiore]E ai pessoal, tudo bom?
Estou com uma duvida…qual a diferença de eu implementar meu código entre essas duas formas:
import java.awt.*;
import javax.swing.*;
public class CalculaValores {
JFrame frame = new JFrame();
CalculaValores(){
}
public static void main(String[] args){
new CalculaValores();
}
}
agora usando o Extends
[code]
import java.awt.;
import javax.swing.;
public class CalculaValores extends JFrame{
CalculaValores(){
}
public static void main(String[] args){
new CalculaValores();
}
}
[/code][/quote]
no primeiro caso vc cria uma instancia de JFrame etc…
No segundo caso vc cria uma classe que estend a JFrame.
A vantagem do segundo exemplo, é a herança e pq utilizamos herança?
Em alguns casos precisamos criar algo mais proximo de nossas necessitade, porém este algo novo ainda precisa ser o antigo(SuperClasse) e deve ter caracteristicas novas(SubClasse).
Compreende?
Fica ao seu critério analisar se sua classe é um JFrame ou se ela tem um JFrame.
entendi pessoal…obrigado pelas respostas…vou estudar um pouco mais de OO