Título: Dudas. Publicado por: Gm3z en 27 Febrero 2012, 21:33 pm Desarrollar una clase llamada Asignatura que: • Tenga dos atributos private de tipo int (el identificador) y de tipo double (la calificación). • Tenga un constructor con un parámetro de tipo int. • Tenga un getter para cada uno de los atributos. • Tenga un setter para la calificación. Desarrollar una clase llamada Alumno que: • Tenga tres atributos private de tipo Asignatura. • Tenga un constructor con tres parámetros de tipo Asignatura que inicialice los tres atributos. • Tenga un constructor con tres parámetros de tipo int que inicialice los tres atributos. • Tenga un getter para cada uno de los atributos. Desarrollar una clase llamada Profesor que: • Tenga un método ponerNotas que recibe un parámetro de tipo Alumno y que no devuelve nada. Pondrá una calificación aleatoria a cada una de las asignaturas del alumno. • Tenga un método calcularMedia que recibe un parámetro de tipo Alumno y devuelve un double. Desarrollar una clase llamada Actividad1 que en su método main: • Cree e inicialice tres Asignaturas. • Cree un Alumno con las tres Asignaturas. • Cree un Profesor que le ponga calificaciones al Alumno y muestre por pantalla la media del Alumno. Hola y deciros que muchas gracias por vuestra atención antes que nada. Os pego aquí el enunciado que tengo sobre un ejercicio a realizar, lo que pasa que no se como empezar: Mis dudas son las siguientes: 1º. Cada clase tiene que ir en un archivo distinto y luego llamarlo desde el proyecto princiapal , y si es correcto que es asi, seria como llamarlo directamente es decir Asignatura.getnombre() ¿? 2º. Estoy un poco perdido en que son los contrusctores,getter y setter. Lo que yo entiendo por esos conceptos son: -Constructor: no se muy bien como explicarlo. -Getter: Es el que devuelve el valor como si fuera el return. -Setter: El que modifica las variables no. Es que no entiendo muy bien esos conceptos con lo cual no se como se estructuraría para poder empezar a montar el ejercicio. Muchas gracias ^^ Título: Re: Dudas. Publicado por: Proteus1989 en 27 Febrero 2012, 21:49 pm Cada clase por separado como bien has dicho.
El getter es para recuperar un valor de una instancia y el setter para añadirlo. Asignatura.getnombre() no exactamente. Te pongo un ejemplito de un main. Código
El constructor es el método que se ejecuta cuando haces la instanciación (new Asignatura(paramentros)) Código
Título: Re: Dudas. Publicado por: Gm3z en 27 Febrero 2012, 21:57 pm Vale y el identificador se puede quedar vació o que valor debería darle?
En el apartado del main dice que cree e inicialice 3 asignaturas deberia hacerlo asi Citar public class prueba{ public static void main(String adr[]) { Asignatura a = new Asignatura(9); Asignatura b = new Asignatura(9); Asignatura c = new Asignatura(9); } } El 9 porque es? Puff bueno intentare montarlo a ver si me sale. Gracias ^^ Título: Re: Dudas. Publicado por: Proteus1989 en 27 Febrero 2012, 22:24 pm El 9 es el valor que tu quieras pero cada asignatura debe tener un número diferente porque es el codigo identificador de la asignatura (de ahí el nombre).
Por ejemplo Código
Obviamente no puede quedar vacío porque es el identificador de la clase. Título: Re: Dudas. Publicado por: Gm3z en 27 Febrero 2012, 23:27 pm Muchas gracias proteus ^^
vale lo del identificador ya lo he entendido =) ahora luego me quedara darle valores a las asignaturas :D Eso lo intentare, si tengo alguna duda la pondré De verdad muchas gracias =) Edito: Citar • Tenga un getter para cada uno de los atributos. • Tenga un setter para la calificación. En esta parte que quiere decir que la tiene que tener un metodo para guardar el valor y otro para luego recogerlo o directamente lo hago en el principal? Citar que recibe un parámetro de tipo Alumno o Asignatura Como paso eso? Seria Objeto.Variable = Valor ? Título: Re: Dudas. Publicado por: Proteus1989 en 28 Febrero 2012, 02:44 am Error Objeto.Variable = Valor
Las variables en java son privadas (o se intenta) por lo tanto no puedes acceder a variables de objetos como cualquier cosa. Para eso existen los get & set. valor = obj.getVariable(); obj.setVariable(valor); Son los métodos get & set los encargados de gestionar las variables, y no la clase externa que "invoca" a Asignatura. Título: Re: Dudas. Publicado por: Gm3z en 28 Febrero 2012, 15:49 pm Ok, creo que me he enterado ya con el get recojo el valor de esa variable para podre mostrarla y luego con el set le paso el valor y la modifico en el set que haya creado en la clase, supongo que sera asi no?
y eso de: Citar que recibe un parámetro de tipo Alumno o Asignatura Como se pasa esa variable tipo objeto? Asi llevo el Código: Citar Parte de Actividad1: Código: import java.util.*; Citar Parte de Alumno: Código: public class Alumno En la parte del profesor no empezado ya que no se como se le pasan los atributos tipo Alumno. Y la de Asignatura solo le puse el Identificador y la califacacion como pide en el enunciado. Título: Re: Dudas. Publicado por: Proteus1989 en 28 Febrero 2012, 19:05 pm Para pasar objetos es igual que para pasar enteros
Código
Solo necesitas que tu profesor tenga un setAlumno() que le entre por parametro un Alumno Código
Es un ejemplo al azar, no se si te piden eso, pero así es como se pasan objetos. Por supuesto la variable miAlumno es una variable privada de la clase Profesor inicialmente sin valor (private Alumno miAlumno); Título: Re: Dudas. Publicado por: Gm3z en 28 Febrero 2012, 20:56 pm Uff. bueno entonces si yo lo que quiero es mandar al metodo ponerNotas para que me ponga las notas aleatoriamente.
deberia hacerlo asi: Citar c.PonerNotas(b); // cuando c es el objeto de profesor y en la clase profesor lo recibo asi:Código: public void PonerNotas (Alumno Alum) y ya con la variable auxiliar ya puedo coger los set, get y demas de la clase Alumno? para poder con el set modificar el valor de las notas? Un saludo! y Gracias por aguantar ^^ Título: Re: Dudas. Publicado por: Proteus1989 en 28 Febrero 2012, 21:12 pm Puedes hacerlo directamente con Alum, no necesitas aux. Aux es necesario si quieres guardar dentro de profesor el alumno.
Título: Re: Dudas. Publicado por: Gm3z en 28 Febrero 2012, 22:07 pm Vale , muchas gracias proteus!
Hice ya la practica ;) Ahora a por la siguiente. Un saludo! Título: Re: Dudas. Publicado por: Proteus1989 en 29 Febrero 2012, 07:38 am Me alegra :)
Título: Re: Dudas. Publicado por: Gm3z en 29 Febrero 2012, 14:19 pm Citar Cree e inicialice tres Asignaturas. Cuando dice esto, tengo que crear 3 objetos o con en la misma clase le paso el nombre de 3 variables recogidas en el main y se la paso a la clase?Título: Re: Dudas. Publicado por: Proteus1989 en 29 Febrero 2012, 15:09 pm Así
http://foro.elhacker.net/java/dudas-t354870.0.html;msg1723457#msg1723457 Título: Re: Dudas. Publicado por: Gm3z en 29 Febrero 2012, 16:02 pm Okis muchas gracias ;)
entonces tengo que cambiarlo. Título: Re: Dudas. Publicado por: Gm3z en 12 Marzo 2012, 17:07 pm • Tenga un método aceptarCoche que recibe un parámetro de tipo Coche y la avería asociada. El garaje solo podrá atender a un coche en cada momento. Si ya esta atendiendo uno, que devuelva un false.
Hola, este es el apartado de una practica que estoy realizando , y queria saber si hay alguna funcion predefinida para comprobar si dicha funcion tiene algun parametro? y si no que me orientarais un poco. |