Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/04/2013, 08:26
ircop
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Atributos de clase

Cita:
Iniciado por Fuzzylog Ver Mensaje
Creo que estás confundiendo los atributos de clase con los de instancia, de todos modos.

La forma de introducir atributos sin usar get y set es a través de un nuevo constructor con los parámetros que quieres añadir:

Para eso tienes que definir el constructor en la clase que va a modificar esos atributos

Ejemplo

public Class Coche() {

private String marca;
private String modelo;
private String color;

// Constructor por defecto. NO es necesario crearlo porque ya existe al crear la clase
public Coche() {}

// Constructor con algunos parámetros, no se suelen usar, pero te los puedes encontrar
public Coche(String marca, String modelo) {
this.marca = marca;
this.modelo = modelo;
}

// Constructor completo, es el mas usado. Cuando no se quiere setear un parámetro se envía null si es un objeto o un valor predeterminado si es algún tipo primitivo
public Coche(String marca, String modelo, String color) {
this.marca = marca;
this.modelo = modelo;
this.color = color;
}

}

// Ahora puedes hacer
String marca = "UnaMarca";
String modelo = "UnModelo";
String color = "UnColor";
Coche unCoche = new Coche(marca,modelo,color); // Y ya lo crea con los datos que le pasas
// cogiendo este ejemplo, yo quiero hacer esto


public class otraClase
{

Coche dueño; <-- creo un objeto de la clase Coche

public otraClase() <-constructor vacio, inicializa atributos de la otra clase
{
dueño.marca="seat";
dueño.modelo="ibiza";
dueño.color="rojo";

}

public static void main(String args[])
{

Coche p=new Coche(); <- creo instancia,pero tengo un problema

p.verCoche(); <- yo quiero que se vean los datos creados desde el constructor

<- logicamente se ven los instanciados en P, y como en P no le puse datos, me esta cargando y cogiendo el constructor vacio.



}


entonces pense en esta segunda posibilidad


public class otraClase
{

Coche dueño; <-- creo un objeto de la clase Coche

Coche p = new Coche();

public otraClase() <-constructor de esta clase, inicializa atributos de la otra clase
{
p.setmarca("seat"); <- cargo los atributos desde set
p.setmodelo("ibiza");
p.setcolor("rojo");

}

public static void main(String args[])
{



p.verCoche(); <- tampoco funciona pq no reconoce p, y lo he puesto public el p y tampoco





}
__________________
Recuerda que si señalas con el dedo, el resto de los dedos te señalan a ti!