Foros del Web » Programación para mayores de 30 ;) » Java »

como asignar un valor a un atributo de otra clase

Estas en el tema de como asignar un valor a un atributo de otra clase en el foro de Java en Foros del Web. Tengo esta clase public class Asignatura { //atributos private String nombreAsignatura; private int calificacion; ..... ---- y tambien tengo esta clase public class Alumno { ...
  #1 (permalink)  
Antiguo 15/04/2013, 04:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 0
como asignar un valor a un atributo de otra clase

Tengo esta clase

public class Asignatura
{

//atributos
private String nombreAsignatura;
private int calificacion;
.....


----

y tambien tengo esta clase

public class Alumno
{
private Asignatura programacion;
private Asignatura basesDatos;
private Asignatura entornos;

public Alumno()
{


programacion.nombreAsignatura="programacion";
programacion.calificacion=8;


}


¿como le meto un dato a la clase Asignatura desde la clase Alumno y desde el constructor? me da error en la primera linea del constructor


y otra duda, si dentro de una clase defino 2 atributos, y no pongo nada, automaticamente no son private o son public?

gracias
__________________
Recuerda que si señalas con el dedo, el resto de los dedos te señalan a ti!
  #2 (permalink)  
Antiguo 15/04/2013, 05:01
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: como asignar un valor a un atributo de otra clase

Todas esas dudas están resueltas en cualquier tutorial básico, deberías seguir alguno en vez de lanzarte a programar sin leer nada.

http://mundogeek.net/archivos/2009/0...dores-en-java/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 15/04/2013, 05:03
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: como asignar un valor a un atributo de otra clase

Los atributos deben ser privados.

Para cada atributo del que desees recuperar/modificar información debes tener un par de métodos públicos conocidos como getters/setters.

// Atributo privado genérico
private TipoDato atributo;

// Getter público
public TipoDato getAtributo() {
return this.atributo;
}

// Setter público
public void setAtributo(TipoDato atributo) {
this.atributo = atributo;
}


Cuando quieres modificar el atributo desde otra clase, usas el setter del objeto de la clase a la que deseas modificar el atributo.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #4 (permalink)  
Antiguo 15/04/2013, 09:02
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: como asignar un valor a un atributo de otra clase

Graciias por las respuestas, mas o menos lo tenia claro, pero como vi ejemplos que los atributos no pone nada, supuse que automaticamente era private para la clase


y la primera pregunta, como asignar valores a los atributos privados de una clase desde un constructor de otra clase?

public class Asignatura
{

//atributos
private String nombreAsignatura;
private int calificacion;
.....


----

y tambien tengo esta clase

public class Alumno
{
private Asignatura programacion;
private Asignatura basesDatos;
private Asignatura entornos;

public Alumno()
{


programacion.nombreAsignatura="programacion";
programacion.calificacion=8;


}


¿como le meto un dato a la clase Asignatura desde la clase Alumno y desde el constructor? me da error en la primera linea del constructor
__________________
Recuerda que si señalas con el dedo, el resto de los dedos te señalan a ti!
  #5 (permalink)  
Antiguo 15/04/2013, 09:21
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: como asignar un valor a un atributo de otra clase

Estás muy perdido, de verdad, deberías leer un poco.

Cita:
¿como le meto un dato a la clase Asignatura desde la clase Alumno y desde el constructor?
Cita:
Iniciado por Fuzzylog
Cuando quieres modificar el atributo desde otra clase, usas el setter del objeto de la clase a la que deseas modificar el atributo.
Al no tener ni la base más esencial, tendrás muchos problemas y perderás mucho tiempo en cosas como esta

Cita:
private Asignatura programacion

public Alumno()
{

programacion.nombreAsignatura="programacion";
programacion.calificacion=8;

}
Esto es el constructor, así que es lo que primero se ejecuta en Alumno, ¿existe un objeto Asignatura en Alumno? No, porque no lo has creado. No es lo mismo un objeto que una referencia, concepto básico.

Lee siempre los errores que te muestran, y cuando pidas ayuda procura ponerlos, es la mejor forma de que aprendas y de que los demás pueden imaginarse cual es el problema.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 15/04/2013, 09:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 265
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Respuesta: como asignar un valor a un atributo de otra clase

vamos a ver, creo que lo entiendo, pero no doy con el método, (seguramente me falta muchiiisiiiima base)

pero solo es esto


CLASE 1
public class Asignatura
{

//atributos
private String nombreAsignatura;
private int calificacion;


CLASE 2
public class Alumno
{
private Asignatura programacion;
private Asignatura basesDatos;
private Asignatura entornos;


Como hago un constructor en la clase 2, sin parámetros, que CREE UN ALUMNO

lo he intentado asi el constructor

Alumno()
{
programacion.nombreAsignatura="java";
-> error no puede acceder a datos privados, lo entiendo no puede acceder a nombre por ser private
}

también asi

Asignatura p =new Asignatura();
Alumno()
{
p.setNombre="java";

"esto aparentemente funciona.. pero luego desde el main, no puedo usar p, no me deja
}

me voy acercando al menos???

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

Última edición por ircop; 15/04/2013 a las 10:34

Etiquetas: clase, programa, string, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:59.