static void Main(string[] args) { #region Enunciado //Desarrolle una clase llamada Asignatura que: //Tenga dos atributos privados, uno de tipo entero (el //identificador) y el otro de tipo decimal (la calificación). //Dicha clase tendrá un constructor con un parámetro de tipo //entero. //Tomando la clase SerHumano, diseñada en el ejercicio 41, se pide: //Modificarla para que sea abstracta y ‗padre‘ de las clases Alumno //y Profesor. //La clase Alumno tendrá tres atributos privados de tipo //Asignatura, un constructor con tres parámetros de tipo Asignatura //que inicialice los tres atributos. //La clase Profesor tendrá un método CalificarAlumno, 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, //para ello utilizar el método NextDouble de la clase Random. //Además tendrá un método llamado CalcularPromedio que recibe un //parámetro de tipo Alumno y devuelve un Double. //Por último, desarrollar una clase llamada Test, 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 el promedio del Alumno. //Serializar a XML los objetos creados. #endregion //Cree e inicialice tres Asignaturas. LISTO //Cree un Alumno con las tres Asignaturas. //Cree un Profesor que le ponga calificaciones al Alumno y //muestre por pantalla el promedio del Alumno. //Serializar a XML los objetos creados. Asignatura mat = new Asignatura(20); Asignatura lengua = new Asignatura(11); Asignatura compu = new Asignatura(33); Alumno alumno1 = new Alumno(mat, lengua, compu); Profesor profe1 = new Profesor(); profe1.CalificarAlumno(alumno1); Console.WriteLine("PROMEDIO:\n"); Console.WriteLine(profe1.CalcularPromedio(alumno1)); Console.ReadKey(); }
static void Main(string[] args) { #region Lo que pide //Cree e inicialice tres Asignaturas. LISTO //Cree un Alumno con las tres Asignaturas. //Cree un Profesor que le ponga calificaciones al Alumno y //muestre por pantalla el promedio del Alumno. //Serializar a XML los objetos creados. #endregion Asignatura Matematica = new Asignatura(); Asignatura Lengua = new Asignatura(); Asignatura EducacionFisica = new Asignatura(); Alumno unAlumno = new Alumno(Matematica, Lengua, EducacionFisica); Profesor unProfe = new Profesor(); unProfe.CalificarAlumno(unAlumno); Console.WriteLine("El Promedio es de: \n"); Console.WriteLine(unProfe.CalcularPromedio(unAlumno)); SerializadorXML(unAlumno.Asignatura1); SerializadorXML(unAlumno.Asignatura2); SerializadorXML(unAlumno.Asignatura3); SerializadorXML(unAlumno); SerializadorXML(unProfe); /*-----IMPORTANTE------ * Si se realiza una interfaz no se debe colocar override ya que esta implicitamente * (solo se debe colocar la misma firma) * Si realizo abstracta la clase "padre", colocando un motod abstracto, obligo a las hijas que realicen lo mismo. * En este caso, la clase padre SerHumano tiene una interface para que no tenga que realizar en el main los metodos de * cada tipo de objeto. * Estariamos sumandole cosas a la clase Padre para asi que las hereden las hijas * DEBO TENER SI O SI UN CONSTRUCTOR SIN PARAMETROS LAS CLASES HIJAS si la clase padre es abstracta * TODAS LAS CLASES DEBEN SER PUBLIC SI TENGO LA PADRE ABSTRACTA * EN INTERFACES NO SE DEBE AGREGAR OVERRIDE NI MODIFICADORES */ }
public void CalificarAlumno() { this._asignatura1 = new Asignatura(); this._asignatura2 = new Asignatura(); this._asignatura3 = new Asignatura(); }
public Alumno(Asignatura asig1, Asignatura asig2, Asignatura asig3) { this._asignatura1 = asig1; this._asignatura2 = asig2; this._asignatura3 = asig3; }