Está en la página 1de 11

INSTITUTO POLITECNICO NACIONAL

ESIME ZACATENCO

PROGRAMACIÓN ORIENTADA A OBJETOS

Prof. Ramírez Cruz María Alicia

Grupo: 2AM2

INTRODUCCION
En está practica seguimos aplicando el termino de herencia, así que nos ayuda que a partir de lo que la
profesora nos enseñó podemos aplicarlo en otros ámbitos ya que podemos darnos cuenta que no importa la
figura que es, sino que importa lo que contiene
DESARROLLO
Seudocódigo
Declarar class figura
Poner nuestras variables protegidas
Defenir base, ancho y altura
Poner nuestras variables publicas
Defenir nuestras valiables(int b,int a,int h)
Class rectángulo, relacionar nuestra herencia
decir que es publico los datos que utlizaremos
Returnamos el area de este rectángulo
Class triangulo, relacionamos con la herencia
Decimos que nuestro dato es publico
Ponemos el método que será calcular el area
Ponemos nuestro int main ()
Creamos nuestro obj
relacionamos el obj con el valor que nosotros defenimos desde el método de la herencia principal
Salida de pantalla mostrando el area y relacionando con el método con nuestro obj

DIAGRAMA UML

CODIFICACION
#include <iostream>
using namespace std;
class figura{
protected:
int base,ancho,altura;
public:
void valor(int b, int a, int h) {
base=b;
ancho=a;
altura=h;}};
class rectangulo:public figura{
public:
int area (){
return base*ancho; }};
class triangulo:public figura{
public:
int area (){
return base*altura/2;}};
int main (){
rectangulo foo;
triangulo tri;
foo.valor(2,2,2);
tri.valor(2,2,2);
cout<< "El area del rectangulo es:"<<foo.area()<<endl;
cout<<"El area del triangulo es:"<<tri.area()<<endl;
return 0;}

Conclusión

Como sabemos que este tipo de herencia nos ayuda a no repetir las variables y así mismo nos ayuda a ahorrar a un espacio, así como
aprendimos a darle un buen uso al diagrama, ya que nos ayuda a tener aplicaciones como lo es un inicio de sesión, poco a poco
conocer nuestras aplicaciones de este ámbito.

BIBLIOGRAFIA ¿Qué es la Herencia en programación orientada a objetos? | IfgeekthenNTTdata

(68) Tutorial - Diagrama de Clases UML - YouTube

Introducción:
En la clase de hoy se vieron diferentes programas, el programa que se explica a continuación es del tema de clases
derivadas, herencias simples.
Al tener las operaciones y relaciones en cada clase de nuestro programa, se procede a agregar el método que queremos
que se refleje en nuestro ejecutable, al código le pediremos que nos muestre el “Área:”, “Perímetro: “ , y “Volumen: “ de
cada una de nuestras figuras indicando que datos de que figura es la que se nos mostrara al ejecutar.
Lo realizado en este programa de clases derivadas, nos indica que la clase derivada obtiene todos los datos no privados y
el comportamiento de la clase base, además de todos los demás datos y comportamientos que define para sí misma. La
clase derivada creada o “la nueva clase” tiene dos tipos efectivos: el tipo de la nueva clase y el tipo de la clase que hereda.
Lo visto fue querer las características entre clase base y la clase raíz, teniendo el acceso atreves de class A : public class B

Otros aspectos para conocer son que las estructuras no pueden heredar de otras estructuras o clases. Tanto las clases
como las estructuras pueden heredar de una o más interfaces.
La palabra clave base se utiliza para obtener acceso a los miembros de la clase base desde una clase derivada:
o Realice una llamada a un método de la clase base reemplazada por otro método.
o Especifique a qué constructor de la clase base se debe llamar para crear instancias de la clase derivada.

El acceso a una clase base sólo se permite en un constructor, en un método de instancia o en un descriptor de acceso a
una propiedad de instancia.

Es incorrecto utilizar la palabra clave base desde dentro de un método estático.

En la practica se muestra el código visto en clase en el programa Shell c++ y su ejecutable.


DESARROLLO:
Pseudocodigo:
Class polígono
Datos protegidos int base y altura
Public Definir void declaración de variables
Class rectángulo relacionar:polígono
Public
Calcular método área con variables base y altura
Calcular método perímetro con variables base y altura
Calcular método volumen con variables base y altura
Class triangulo relacionar:polígono
Public
Calcular método área con variables base y altura
Calcular método perímetro con variables base y altura
Calcular método volumen con variables base y altura
Plantear objeto
Definir valores
Indicar mensaje a imprimir
Relacionar rectángulo con área, perímetro, volumen y calcular
Relacionar triangulo con área, perímetro, volumen y calcular

Codificaión
// Example program
#include <iostream>
using namespace std;
class polígono {
protected:
int base, altura;
public:
void valor(int a,int b)
{base=a; altura=b;} };
class rectangulo:public poligono
{ public:
int area(){return base*altura;}
int perimetro(){return 2*(altura+base);}
int volumen(){return altura*altura*altura;} };
class triangulo:public poligono
{ public:
int area(){return base*altura/2;}
int perimetro(){return altura+altura+altura;}
int volumen(){return altura+base+altura/3;} };
int main() {
rectangulo rec;
triangulo tria;
rec.valor(4,5);
tria.valor(4,5);
cout<<"area del rectangulo es: "<<rec.area()<< endl;
cout<<"perimetro del rectangulo es: "<<rec.perimetro()<< endl;
cout<<"volumen rectangulo es: "<<rec.volumen()<< endl;
cout<<"area del triangulo es: "<<tria.area()<< endl;
cout<<"perimetro del triangulo es: "<<tria.perimetro()<< endl;
cout<<"volumen del triangulo es: "<<tria.volumen()<< endl; }

CONCLUSIONES
La herencia consiste en la creación de nuevas clases a partir de otras ya existentes, con este conocimiento en cuenta que la
realización de la practica nos demostró que con los datos de una clase principal se pueden hacer operaciones en otras
clases con diferentes valores y operaciones.
 Las clases que heredan de clases base se denominan derivadas, estas a su vez pueden ser clases bases para otras clases
derivadas. La creación de clases bases se crean cuando se denota que diversos tipos de clases tienen algo en común o
cuando se precisa ampliar la funcionalidad de un programa sin tener que modificar el código existente.
BIBLIOGRAFIA
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/herencia/herencia.htm
https://www.youtube.com/watch?v=Z0yLerU0g-Q

Herencia múltiple
Introducción
Una de as formas de crear una nueva case en c++ es mediante la herencia múltiple que también es llamada como
agregación o composición. Este método consiste en el ensamblado de una nueva clase con los elementos de varias clases-
base. En c++ podemos crear clases derivadas que heredan los miembros de una o mas clases antecesoras.

Desarrollo
Pseudocódigo:
o 1.iniciar
o 2.Class mamá
o 3.imprime "mama: son indispensables"
o 4.int a
o 5.imprime "mama: como crear energía"
o 6.class tia
o 7.int a
o 8.imprime "tia alta, dedicada, divertida CLAUDIA"
o 9.class hijo
o 10.int a
o 11.imprime "hijos de la bobeda celeste bendición”
o 12.asigna valor tia claudia
o 13.asigna valor hijos gina

Diagrama UML

Codificación
#include <iostream>
using namespace std;
class mama{
public:
mama(){
cout<<"mama: son indispensables"<<endl;
}
mama(int a) {
cout<<"mama:como crear energia"<<endl;
}
};
class tia:public mama{
public:
tia(int a) {
cout<<"tia alta, dedicada, divertida CLAUDIA"<<endl;
}
};
class hijos:public mama{
public:
hijos(int a):mama (a) {
cout<<"hijos de la bobeda celeste bendicion"<<endl;
}
};
int main(){
tia claudia (0);
hijos gina(0);
return 0;
}

Ejecutable

Conclusiones
En el lenguaje de programación c++ la herencia es una herramienta muy útil a la hora de programar pues nos sirva para
hacer que los atributos de una clase madre se hereden a otras subclases con esto se evita saturar el programa de variables.
Bibliografía
https://www.zator.com/Cpp/E4_11_2c.htm#:~:text=La%20tercera%20forma%20de%20crear,una%20o%20m%C3%A1s
%20clases%20antecesoras.
INTRODUCCIÓN: HERENCIA ARBOL FAMILIAR
El programa visto fue un ejemplo de un programa constructor con una clase derivada, recordando que las
clases derivadas son herencia. Con base en eso, se hizo un programa con los mismos datos usados en el
programa, haciendo un programa con base a nuestro árbol familiar, tomando una clase base y poniendo
como clases de herencia a los familiares que salen de aquella clase base o clase principal. Pudiendo usar
tantos familiares como datos disponibles que puedan ser utilizados en nuestro código. Al igual que el
programa visto en clase, usaremos una clase base.
La herencia consigue clasificar los tipos de datos (abstracciones) por variedad, acercando un poco más el
mundo de la programación al modo de razonar humano. Este modo de razonar humano se denomina
generalización, y da lugar a jerarquías de generalización/especialización, la implementación de estas
jerarquías en un lenguaje de programación da lugar a jerarquías de herencia.
La generalización es una relación semántica entre clases, que determina que la interfaz de la subclase debe
incluir todas las propiedades públicas y privadas de la superclase. Disminuye el número de relaciones
(asociaciones y agregaciones) del modelo, Aumenta la comprensibilidad, expresividad y abstracción de los
sistemas modelados y todo esto a costa de un mayor número de clases.
La herencia es el mecanismo de implementación mediante el cual elementos más específicos incorporan la
estructura y comportamiento de elementos más generales (Rumbaugh 99), gracias a la herencia es posible
especializar o extender la funcionalidad de una clase, derivando de ella nuevas clases. La herencia es
siempre transitiva: una clase puede heredar características de superclases que se encuentran muchos niveles
más arriba en la jerarquía de herencia. Mediante la herencia, las propiedades definidas en una clase base
son heredadas por la clase derivada.
Una clase derivada puede heredar comportamiento de una clase base, por tanto, el código no necesita
volver a ser escrito para la derivada. Los tipos de herencia son de tipo simple (única clase base) y de tipo
múltiple (más de una clase base), de implementación (la implementación de los métodos es heredada.
Puede sobrescribirse en las clases derivadas), tipo de interfaz (Sólo se hereda la interfaz, no hay
implementación a nivel de clase base (interfaces en Java, clases abstractas en C++)).
DESARROLLO: Pseudocodigo:
class Mamá
Imprimir “Mama: la mujer más increible\n"
int a e imprime "Mama: la que me quiere a su manera "
class tia operador de acceso a dato publico Mamá
Relacionar clase tía con clase mamá
Datos públicos: constructor de acceso a variable entera
Imprimir mensaje de clase tia1, tia2, tia3
Clase derivada hijos operador de acceso a dato publico Mamá
Dato público: constructor de acceso a variable entera
Relacionar clase hijo con clase mamá
Imprimir mensaje clase hijo
Imprimir Tía (valor),
Imprimir Hijo (valor)
// Example program
#include <iostream>
using namespace std;
class Mama{
public:
Mama()
{cout<< "Mama: la mujer más increible\n"<< endl;}
Mama(int a)
{cout<<"Mama: la que me quiere a su manera "<<endl;
cout<<"Mama: la que esta a mi lado\n"<<endl;}
};
class Tia:public Mama{ //clase derivada
public:
Tia(int a)
{cout <<"tia1_Mi tia N, trabajadora, amorosa y graciosa "<<endl;
cout <<"tia2_Mi tia A, divertida, luchona y cariñosa "<<endl;
cout <<"tio3_Mi tio M, trabajador, honesto, bromista \n "<<endl;
}};
class Hijos:public Mama{ //se convierte en herencia
public:
Hijos(int a):Mama (a){cout<<"Hijos como el ging y el gang "<<endl;} };
int main (){
Tia (0);
Hijos Leo(0);
return 0; }
CONCCLUSIONES:
Este es uno de los ejemplos más fáciles y básicos para mostrar la función del código de herencia en la programación,
tomando como ejemplo una acción muy cotidiana del ser humano que es el tener descendencia, y podemos expresar esa
acción con un código de programa que la represente y así también entender el lenguaje de programación “herencia” y ver
las múltiples funciones que este código puede ofreces a los programadores entre uniones de clases principales y las clases
derivadas que tienen relación entre ellas, pudiendo accesar a varias clases simultáneamente.
BIBLIOGRAFIA:
https://rua.ua.es/dspace/bitstream/10045/15995/1/POO-3-Herencia-10-11.pdf
https://app.moqups.com/wneWPfknR1mpNW3ci5KI2amMMkqdqGHZ/edit/page/aa458c046

También podría gustarte