6. Clases

Actividades de iniciación

1. Crea una clase llamada Punto con dos propiedades/atributos denominados x e y, con constructor y con cuatro métodos (getter y setter), uno para obtener x, otro para obtener y, otro para modificar x y otro método para modificar y. Crea 3 instancias/objetos de la clase Punto y ejecuta en ellos los cuatro métodos creados.

2. Crea una clase llamada Linea con cuatro propiedades/atributos denominados x1, x2, y1 e y2, con constructor y con un método que obtenga el punto medio del segmento usando dichas propiedades/atributos. Crea 3 instancias/objetos de la clase Linea y ejecuta en ellos el método creado.

3. Crea una clase llamada Rectangulo con dos propiedades/atributos denominados longitud y ancho, con constructor y con un método que calcule el area del rectángulo usando dichas propiedades/atributos. Crea 3 instancias/objetos de la clase Rectangulo y ejecuta en ellos el método creado.

4. Crea una clase llamada Circulo con una propiedad/atributo denominado radio, con constructor y con dos métodos que calculen el area del círculo y la circunferencia del círculo usando dichas propiedades/atributos. Crea 3 instancias/objetos de la clase Circulo y ejecuta en ellos los dos métodos creados.

5. Crea una clase llamada Estudiante con dos propiedades/atributos denominados nombre y notas (array/lista), con constructor y con métodos que obtenga el nombre, modifique el nombre, obtenga las notas, modifique las notas y, por último, que obtenga la media de esas notas y las muestre. Crea 3 instancias/objetos de la clase Estudiante y ejecuta en ellos el método creado.

6. Crea una función que reciba dos parámetros de entrada de tipo clase Punto (realizado en ejercicio 01) y que devuelva la distancia euclídea entre esos dos puntos. Ejecuta 3 llamadas de ejemplo de la función creada.

7. Crea una clase llamada Linea2D con dos propiedades/atributos denominados p1 y p2 de tipo clase Punto (realizado en ejercicio 01) y con dos métodos, uno que obtenga el punto medio del segmento y otro que obtenga la distancia euclídea, ambos usando dichas propiedades/atributos. Crea 3 instancias/objetos de la clase Linea2D y ejecuta en ellos los dos métodos creado.

8. Crea una clase llamada Forma con una propiedad/atributo denominada centro de tipo clase Punto y un método que se llame area y que devuelva un número, por ejemplo 0. A continuación, crea dos clases llamadas Rectangulo y Circulo (realizados en ejercicios 03 y 04) que hereden de la clase Forma ya creada. Crea 3 instancias/objetos de las clases Rectangulo, Circulo, de la clase que hereda Forma y ejecuta sus métodos.

9. Crea una función que reciba un parámetro de entrada de tipo array/lista, con identificador grupos, de tamaño 3 cuyos elementos sean de tipo array/lista de clase Estudiante (realizado en ejercicio 05). La función tiene que devolver el índice del array/lista grupos cuyo promedio de notas del grupo de estudiantes sea el más alto. Ejecuta 1 llamada de ejemplo de la función creada.

Por ejemplo, hay tres grupos de Bachillerato con 25 alumnos cada uno. Cada grupo será un array/lista de 25 estudiantes (25 objetos/instancias de la clase Estudiante) que se añadirá al array/lista grupos inicialmente vacío. Cada estudiante tiene su media final, pero lo que queremos es la media de todo ese grupo de estudiantes y compararlos con los otros grupos. Lo que buscamos finalmente es conocer qué grupo de bachillerato tiene los alumnos con mejor promedio de nota. Si se va a usar este ejemplo en el ejercicio, no es necesario tantos alumnos (5 por grupo sería más que suficiente).

10. Crea una clase C que herede de una clase B y que la clase B herede de A. La clase C heredará todos los métodos y atributos de B y B de A. Como mínimo, una función de A, de B y de C tienen que tener el mismo nombre pero que hagan cosas distintas. Crea 3 instancias/objetos de las clases A, B y C y ejecuta todos los métodos que hayas creado.