modificacion a la clase Vehiculo:
los atributos son protected...
CLASE VEHICULO
________________________
import javax.swing.JOptionPane;
public class Vehiculo {
protected String color, modelo, tipoTransmision, marca, noPlacas; //variables de instancia, estan presentes en todo el cuerpo de la clase
//pordía decirse que viven en toda la clase
//el metodo showMessageDialog es un metodo estatico...por eso no presisamente se tiene que instanciar la clase JOptionPane
public Vehiculo(){
JOptionPane.showMessageDialog(null, //indica que su ventana padre es el escritorio
"Creando Objeto Vehiculo", //el mensaje que se desea enviar
"POO",//el titulo de la ventana
JOptionPane.INFORMATION_MESSAGE);//mensaje de tipo informacion, exite tambien el tipo: error, cuestion, etc.
color = modelo = tipoTransmision = marca = noPlacas = ""; //todos los objetos string apuntan a un solo objeto con valor ""
}
public Vehiculo (String marca){//String marca es variable de marca, las variables de marca sobreescriben las variables de metodo, siempre en los metodos las varables de metodo "superan" a las variables de instancia
this(); //this hace referencia a la clase actual
this.marca=marca;
}
public Vehiculo (String marca, String color){
this(marca);
this.color=color;
}
public Vehiculo(String marca, String color, String modelo){
this(marca,color);
this.modelo=modelo;
}
public void setColor(String color){
this.color=color;
}
public void setNoPlacas(String noPlacas){
this.noPlacas=noPlacas;
}
public void setModelo(String modelo){
this.modelo=modelo;
}
public void setMarca(String marca){
this.marca=marca;
}
public void setTipoTransmision(String tipoTransmision){
this.tipoTransmision=tipoTransmision;
}
public void verDatos(){
JOptionPane.showMessageDialog(null,
"Marca: " + marca + "\n" +
"Modelo: "+ modelo + "\n" +
"Color: "+ color + "\n" +
"Placas: "+ noPlacas + "\n" +
"Tipo de Transmisción: "+ tipoTransmision + "\n",
"INFORMACION DEL VEHÍCULO", JOptionPane.INFORMATION_MESSAGE);
}
}
_________________________________________
CLASE TESTVEHICULO
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
public class testVehiculo{
public static void main(String args []){
/*
String opciones[]={"AUTOMATICA","ESTANDAR"};
Vehiculo x1= new Vehiculo("Mustang","Negro");
String modelo = JOptionPane.showInputDialog("Dame el Modelo del Vehicuo");
x1.setModelo(modelo);
String noPlacas = JOptionPane.showInputDialog("Dame las placas del Vehiculo");
x1.setNoPlacas(noPlacas);
Object tipoTransmision = JOptionPane.showInputDialog(null,
"Selecciona el Tipo de Transmision",
"TIPO DE TRANSMISION",
JOptionPane.PLAIN_MESSAGE,
new ImageIcon("Transmission_icon.png"),
opciones,
opciones[0]);
x1.setTipoTransmision(tipoTransmision.toString()); //((String)tipoTransmision)
x1.verDatos();
*/
Automovil x2=new Automovil("MUSTANG",2);
x2.verDatos();
}
}
________________________________
CLASE AUTOMOVIL
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
public class Automovil extends Vehiculo {
private int noPuertas;
public Automovil(){
this(0);
}
public Automovil (int noPuertas){
this("",noPuertas);
}
public Automovil (String marca, int noPuertas){
this(marca, "", noPuertas);
}
public Automovil(String marca, String color, int noPuertas){
this(marca,color, "", noPuertas);
}
public Automovil(String marca, String color, String modelo, int noPuertas){
super(marca, color, modelo);
this.noPuertas=noPuertas;
JOptionPane.showMessageDialog(null,
"Creando el objeto Automovol",
"CONSTRUCTOR DE AUTOMOVIL",
JOptionPane.INFORMATION_MESSAGE);
}
public void verDatos(){//sobreescribiendo el metodo de la clase padre
JOptionPane.showMessageDialog(null,
"Marca: " + marca + "\n" +
"Modelo: "+ modelo + "\n" +
"Color: "+ color + "\n" +
"Placas: "+ noPlacas + "\n" +
"Número de Puertas: " + noPuertas + "\n" +
"Tipo de Transmisción: " + tipoTransmision + "\n",
"INFORMACION DEL VEHICULO", JOptionPane.INFORMATION_MESSAGE,
new ImageIcon("camaro.png"));
}
}
RESULTADOS:



No hay comentarios:
Publicar un comentario