Está en la página 1de 6

TEMA 3.

HERENCIA
La herencia es un mecanismo propio de la programación orientada a objetos (POO), que permite crear clases
a partir de otra, las cuales las unen vínculos sumamente estrechos, que permiten heredar.

La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya
existentes.

Implementando herencia tenemos las siguientes ventajas:

 Modelado de la realidad
 Evitar redundancias en el código
 Facilita la reutilización del código, así como reduce el número de líneas a escribir
 Sirve como el soporte o la base para el polimorfismo

HERENCIA SIMPLE
Hay una clase padre o superclase o clase base de la cual derivan las nuevas clases

A
a

B C
b c

D
d ……….. ………..

C# JAVA
using System; public class A {
public class A private String a;
{
private string a; public A()
public A() {
{ a="aaaa";
a="aaaa"; }
} public A(String x)
public A(string x) {
{ a=x;
a=x; }
} public void mostrar()
public void mostrar() {
{ System.out.print(a);
Console.Write(a); }
} public String getA() {
public string getA() return a;
{ }
return a; public void setA(String a) {
} this.a = a;
public void setA(string x) }
{
a=x; }
}
}
using System; public class B extends A{
public class B:A private String b;
{
private string b; public B()
{
public B():base() super();
{ b="bbbb";
b="bbbb"; }
} public B(String x, String y)
public B(string x, string y):base(x) {
{ super(x);
b=y; b=y;
} }
public void mostrar() public void mostrar()
{ {
base.mostrar(); super.mostrar();
Console.Write(b); System.out.print(b);
} }
public string getB() public String getB() {
{ return b;
return b; }
} public void setB(String b) {
public void setB(string x) this.b = b;
{ }
b=x;
}
} }
using System; public class C extends A{
public class C:A private String c;
{
private string c; public C()
{
public C():base() c="cccc";
{ }
c="cccc"; public C(String x, String y)
} {
public C(string x, string y):base(x) super(x);
{ c=y;
c=y; }
} public void mostrar()
public void mostrar() {
{ super.mostrar();
base.mostrar(); System.out.print(c);
Console.Write(c); }
} public String getC() {
public string getC() return c;
{ }
return c; public void setC(String c) {
} this.c = c;
public void setC(string x) }
{
c=x; }
}
}
using System; public class D extends B {
public class D:B private String d;
{
private string d; public D()
{
public D():base() super();
{ d="dddd";
d="dddd"; }
} public D(String x, String y, String z)
public D(string x, string y, string z):base(x,y) {
{ super(x,y);
d=z; d=z;
} }
public void mostrar() public void mostrar()
{ {
base.mostrar(); super.mostrar();
Console.Write(d); System.out.print(d);
} }
public string getD() public String getD() {
{ return d;
return d; }
} public void setD(String d) {
public void setD(string x) this.d = d;
{ }
d=x;
}
} }
using System; public class PRINCIPAL {
public class principal public static void main(String aa[])
{ {
public static void Main() D objetoD=new D();
{ System.out.print("\nObjeto D ");
D objetoD=new D(); objetoD.mostrar();
Console.WriteLine("\nObjeto D ");
objetoD.mostrar(); C objetoC=new C();
System.out.print("\nObjeto C ");
C objetoC=new C(); objetoC.mostrar();
Console.WriteLine("\nObjeto C ");
objetoC.mostrar();
}
Console.ReadKey(); }

}
}

Ejemplo1
Figura

Rectangulo Triangulo
b B
a h

Ejemplo 2
Electrodomestico
marca
modelo
añoFab

Licuadora Lavadora
tipoFrasco kilosRopa
Ejemplo 3

InstrumentoMusical

InstrumentoViento InstrumentoPercusion
tipo

Zampoña
Modelo ……….. ………..

Ejemplo 4
Persona
nombre
paterno
materno
añoIngreso

Estudiante Docente

EstRegular DocenteTitular
………..
PROBLEMAS

1. Sea la siguiente relación de herencia

UnidadAlmacenamiento
id
nombre
nroCarpetas
nomCarp[50]
nroArchivos
nomArch[50]

DiscoDuro FlashMemory

a) Instanciar un objeto DiscoDuro y un objeto FlashMemory de


diferente manera y mostrarlos
b) En que unidad está el archivo con nombre X?
c) Agregar k nuevos archivos a cada objeto
d) Copiar los archivos del FlashMemory al Disco Duro solo si no
existen

2. Sea la siguiente Jerarquía de clases

Laboratorio
id
ubicación
tipo

LabComputación
nroEquipos
datosEq[40]

a) Instanciar dos laboratorios de computación de diferente


manera y mostrarlos
b) Mostrar el id y la ubicación del laboratorio con más equipos.
c) Eliminar el i-esimo equipo de un laboratorio

3. Sea:
InstrumentoMusical
marca
precio
tipo

InstrumentoViento InstrumentoPercusion

Zampoña Tambor
Modelo tamaño

a) Instanciar un objeto Zampoña y un objeto Tambor


b) Mostrar el objeto mas caro

También podría gustarte