Está en la página 1de 6

Conceptos de Herencia y Polimorfismo

Claudio Michea Cisternas

Programación Web I

Instituto IACC

23 de mayo de 2016
Desarrollo

1- Defina y explique, con sus propias palabras, los conceptos de Herencia y

Polimorfismo Involucrados en el paradigma de la POO.

Por lo leído puedo explicar los conceptos de Herencia y polimorfismo involucrados en el

POO y decir que la POO la cual aporta una nueva característica que es el polimorfismo la cual

puede definir varias operaciones que tengan el mismo nombre, quienes se diferencien solo por

los parámetros de entrada. Esto depende del objeto que se introduzca como parámetro de

entrada, eligiendo automáticamente la operación que se deba realizar. El polimorfismo puede ser

aplicado a cualquier objeto u operaciones para solucionar un problema orientado a objetos. Las

ligaduras de un método apoyan al polimorfismo como identificador del mensaje mientras se

ejecuta un software.

El usar polimorfismo ayuda a tener ventajas al construir un programa. Ayuda a realizar código

más genérico, reduciendo el conocimiento entre objetos así logrando la interdependencia entre

los mismos, dando lugar a objetos desacoplados que se basan en los demás objetos, sin

preocuparse de la implementación. También pueden intercambiar con costos muy bajos el

sistema, pudiendo agregar nuevos objetos polimórficos en forma ascendente.

En cuanto a la herencia como mecanismo en el cual las subclases pueden volver a utilizarse

tanto el comportamiento como la estructura reunida en su superclase. La herencia permite crear

una nueva clase , la cual es producto de otra ya existente. También permite abstraer similitudes

en común entre varias clases, para que puedan volverse a utilizar.

Por lo tanto esta permite reutilizar el comportamiento y la estructura ya definidas en una

superclase. Cuando se habla de herencia de comportamiento o herncia de estructura las que no


son tratadas de igual forma, ya que el comportamiento es heredado en su totalidad por las

subclases, es decir que las subclases heredan todos los métodos de su superclase. En cambio la

herencia de estructura también es heredada en su totalidad sin haber manera de restringirla. Aquí

una subclase no podrá redefinir el nombre de un atributo.

El concepto de herencia introducido en la POO permite reutilizar el código, resultando así más
sencillo cambiar el código existente, ya que los objetos no interaccionan excepto a través de
mensajes. Este efecto hace que un cambio en la decodificación de un objeto no afecta la
ejecución con otro objeto.
Nos encontramos con algunas desventajas porque el modelo orientado a objetos es un
paradigma lo que significa que están involucradas la conceptualización de todos los elementos
en un programa. Otra desventaja es la dependencia del lenguaje, a pesar de la portabilidad
conceptual de los objetos en un sistema orientados a objetos.

2- Cree y codifique uno o más programas pequeños de su autoría, que involucren la


Aplicación de los conceptos de Herencia y Polimorfismo, comentando al interior de
cada uno de ellos la forma en que se aplican dichos conceptos en el código creado.

#include<iostream>
using namespace std;

class figura {
public:
float base;
float altura;
public:
float captura();
virtual unsigned float perimetro()=0;
virtual unsigned float area()=0;
};

class rectangulo: public figura{


public:
void imprime();
unsigned float perimetro(){return 2*(base+altura);}
unsigned float area(){return base*altura;}
};
class triangulo: public figura{
public:
void muestra();
unsigned float perimetro(){return 2*altura+base}
unsigned float area(){return (base*altura)/2;}
};

void figura::captura(){
cout<<"CALCULO DEL AREA Y PERIMETRO DE UN TRIANGULO
ISÓSCELES Y 
UN RECTANGULO:" <<endl;
cout<<"escribe la altura: ";
cin>>altura;
cout<<"escribe la base: ";
cin>>base;
cout<<"EL PERIMETRO ES:" << perimetro();
cout<<"EL AREA ES:" << area();
};

public class Mamifero{


private int patas;
private String nombre;
public void imprimirPatas(){
JOptionPane.showMessageDialog(null," Tiene " + patas  
+ "patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE);
}
public Mamifero(String nombre, int patas){
this.nombre = nombre;
this.patas = patas;
}
}

public class Perro extends Mamifero {


public Perro(String nombre){
super(nombre, 4);
}
}

public class Gato extends Mamifero {


public Gato(String nombre){
super(nombre, 4);
}
}

public class CrearPerro {


public static void main(String [] args) {
Perro perrito = new Perro("Canelita");
perrito.imprimirPatas(); /*Está en la clase mamífero*/
}
}
Bibliografía

Instituto IACC (2016), Programación web I, semana 3.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. .

También podría gustarte