Herencia en programacion orienta a objetos
Enviado por Angelcdn • 17 de Junio de 2023 • Documentos de Investigación • 1.049 Palabras (5 Páginas) • 128 Visitas
[pic 1]
CARRERA:
INGENIERIA EN SOFTWARE Y REDES
MODALIDAD:
ON LINE
CICLO:
221-03-28-B1A
ALUMNO:
INTRODUCCIÒN
El tema de esta semana Herencia la cual es un concepto de la programación orientada a objetos. El cual es un mecanismo que permite derivar una clase a otra clase. En otras palabras, tendremos unas clases que serán hijos, y otras clases que serán padres. Las clases hijas pueden utilizar tanto sus métodos y propiedades como de la clase padre, siempre que su modificador de acceso lo permita. Este tipo de método suele utilizarse para agrupar atributos y métodos de otras clases dentro de una sola.
Sus principales objetivos son:
Entender el mecanismo de abstracción de la herencia
Distinguir entre los diferentes tipos de herencia
Saber implementar jerarquías de herencia
Saber discernir entre jerarquías de herencia seguras (bien definidas) e inseguras
Reutilización de código ser capaz de decidir cuándo usar herencia y cuando optar por composición
DESARROLLO
Realiza el siguiente ejercicio práctico de herencia.
Se dispone de una orquesta que puede tener instrumentos de viento, cuerda o
percusión. Diseñar las correspondientes clases sabiendo que todas tienen un
método en común que es tocar.
Para este trabajo investigue principalmente los instrumentos que se utilizan en una orquesta e investigue como es la función de herencia e indicándola con extends.
package instrumento;
/**
*
* @author BJZ
*/
import java.util.*;
class Instrumento {
public void tocar() {
System.out.println("Instrumento.tocar()");
}
public String tipo() {
return "Instrumento";
}
public void afinar() {}
}
class Violin extends Instrumento {
public void tocar() {
System.out.println("Violin.tocar()");
}
public String tipo() { return "Violin"; }
public void afinar() {}
}
class Arpa extends Instrumento {
public void tocar() {
System.out.println("Arpa.tocar()");
}
public String tipo() { return "Arpa"; }
public void afinar() {}
}
class Piccolo extends Instrumento {
public void tocar() {
System.out.println("Piccolo.tocar()");
}
public String tipo() { return "Piccolo"; }
public void afinar() {}
}
class Clarinete extends Instrumento {
public void tocar() {
System.out.println("Clarinete.tocar()");
}
public void afinar() {
System.out.println("Clarinete.afinar()");
}
}
class Trompeta extends Instrumento {
public void tocar() {
System.out.println("Trompeta.tocar()");
}
public String tipo() { return "Trompeta"; }
}
class Tuba extends Instrumento {
public void tocar() {
System.out.println("Tuba.tocar()");
}
public String tipo() { return "Tuba"; }
public void afinar() {}
}
class Marimba extends Instrumento {
...