Ejercicios
Aquí tienes algunos ejercicios de herencia en Java:
Crea una clase llamada "Animal" que tenga atributos como "name" y "age", y métodos como "eat()" y "sleep()". Luego crea una clase llamada "Mammals" que herede de la clase "Animals" y tenga un atributo adicional llamado "numOfLegs". Crea también un método "move()" en esta clase.
Crea una clase llamada "Vehicle" que tenga atributos como "numOfWheels" y "maxSpeed", y métodos como "startEngine()" y "stopEngine()". Luego crea una clase llamada "Car" que herede de la clase "Vehicle" y tenga un atributo adicional llamado "numOfDoors". Crea también un método "drive()" en esta clase.
Crea una clase llamada "Shape" que tenga un método abstracto llamado "calculateArea()". Luego crea dos clases llamadas "Circle" y "Rectangle" que hereden de la clase "Shape" y implementen el método "calculateArea()" de manera diferente.
Crea una clase llamada "Person" que tenga atributos como "name" y "age", y un método "introduce()" que imprima una presentación de la persona. Luego crea una clase llamada "Student" que herede de la clase "Person" y tenga un atributo adicional llamado "major". Crea también un método "study()" en esta clase.
Crea una interfaz llamada "Shape" que tenga un método abstracto llamado "calculateArea()". Luego crea dos clases llamadas "Circle" y "Rectangle" que implementen la interfaz "Shape" y definan el método "calculateArea()" de manera diferente.
Crea una interfaz llamada "Movable" que tenga métodos abstractos llamados "move()" y "stop()". Luego crea dos clases llamadas "Car" y "Bicycle" que implementen la interfaz "Movable" y definan los métodos de manera diferente.
Crea una interfaz llamada "Drawable" que tenga un método abstracto llamado "draw()". Luego crea una clase llamada "PaintProgram" que tenga un método que acepte un objeto "Drawable" y lo dibuje en pantalla. Crea varias clases que implementen la interfaz "Drawable" y prueba el método en cada una.
Crea una interfaz llamada "Playable" que tenga métodos abstractos llamados "play()" y "stop()". Luego crea una clase llamada "MediaPlayer" que tenga un método que acepte un objeto "Playable" y lo reproduzca. Crea varias clases que implementen la interfaz "Playable" (como "Audio" y "Video") y prueba el método en cada una.
Recuerda siempre respetar las buenas prácticas de programación y la encapsulación de los atributos y métodos.