Unidades Enfoque Orientado a Competencias
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Tema 4 (2021)

2 participantes

Ir abajo

Tema 4 (2021) Empty Tema 4 (2021)

Mensaje por Admin Miér Mar 03, 2021 3:22 pm

Estudiantes de la carrera de Ingeniería en Informática, asignatura: Programación Orientada a Objetos, pueden hacer sus aportaciones, participando en este foro, contestando al menos uno de los siguientes reactivos, temas o competencias:




Tema 4.- Herencia y polimorfismo

Competencia Específica: Comprende y aplica los conceptos de herencia y polimorfismo en programas que utilicen clases base, clases derivadas, clases abstractas e interfaces.

Subtemas:
4.1.- Concepto de herencia y polimorfismo.
4.1.1.- Investigar diferentes tipos de clases que existen, así como los conceptos de herencia y polimorfismo y presentar un mapa mental acerca de ello.
4.2.- Definición de una clase base.
4.3.- Definición de una clase derivada.
4.4.- Clases abstractas.
4.4.1.- Programar clases abstractas para la solución de un problema utilizando clases derivadas para la implementación de métodos abstractos de la clase base, presentando un fragmento de código fuente, que se haya generado.
4.5.- Interfaces.
4.5.1.- Definición
4.5.2.- Implementación.
4.5.3.- Variable polimórficas
4.5.3.1.- Crear aplicaciones que implementen polimorfismo con el uso de interfaces, presentando un fragmento de código fuente, que se haya generado.
4.6.- Reutilización de la definición de paquetes/librerías
4.7.- Desarrollar aplicaciones que implementen el concepto de herencia a partir de un modelo de clases que la utilice al menos una clase base y al menos una clase derivada, presentando un fragmento de código fuente, que se haya generado.


ATTE: M.C. Edgar Rangel Lugo.




Admin
Admin

Mensajes : 349
Fecha de inscripción : 14/03/2012

https://erangel.foroactivo.mx

Volver arriba Ir abajo

Tema 4 (2021) Empty 4.2.- Definición de una clase base.

Mensaje por Angel_Jim_2A6 Lun Mayo 24, 2021 9:18 am

Una clase base es aquella que no dependen ninguno de sus atributos u objetos de la clase de alguna otra clase, se diría que en términos de herencia, sería la clase padre, la clase que se mantiene fija, en el aspecto de herencia

Angel_Jim_2A6

Mensajes : 5
Fecha de inscripción : 23/03/2021

Volver arriba Ir abajo

Tema 4 (2021) Empty Clases base y derivadas.

Mensaje por Ivan_MP_2B6 Miér Jun 23, 2021 3:10 pm

La herencia y el polimorfismo son los mecanismos que utilizan los lenguajes de programación para implementar relaciones de especialización y operaciones polimórficas, respectivamente.

Una relación de especialización indica que una clase base (o clase Padre), que tiene una cierta cantidad de atributos y operaciones, se vuelve algo más concreto y se especializa en una clase derivada. Un ejemplo de esto es la relación entre una persona y un estudiante. Una persona tiene nombre y fecha de nacimiento, pero un estudiante, además, está asociado con una escuela, tiene un No. de control, entre otras cosas, por lo que el estudiante es una especialización de una persona.

Una clase base es, entonces, la clase que hereda sus características a otra, y la clase derivada es la que obtiene las características de la clase base, añadiendo sus propias características.

Una relación de herencia con base en un concepto orientado a objetos sostiene que la ClaseDerivada “es-un” ClaseBase. En C++, para este tipo de relaciones se utiliza el modificador de acceso public. También están disponibles private y protected, pero son utilizados para realizar herencia de implementación (implementar una clase Hija en términos de la clase Padre). Los modificadores de acceso hacen lo siguiente:


  • public: los identificadores de la clase Padre pueden ser vistos desde cualquier ámbito (excepto los que sean marcados como private o protected).
  • private: los identificadores de la clase Padre pueden ser vistos desde la clase que hereda.
  • protected: los identificadores de la clase Padre pueden ser vistos desde la clase que hereda y sus especializaciones.

Un ejemplo de este tipo de herencia se da a continuación.

Herencia simple: Estudiante es-un(a) Persona
Código:

#include <iostream>

class Persona
{
private:
    const char *nombreCompleto;
public:
    const char *obtenerNombreCompleto(){return nombreCompleto;}
    void establecerNombreCompleto(const char* nombreNuevo){nombreCompleto = nombreNuevo;}
};

class Estudiante: public Persona
{
private:
    int numeroDeControl;
public:
    void establecerNumeroDeControl(int numeroNuevo){numeroDeControl = numeroNuevo;}
    int obtenerNumeroDeControl(){return numeroDeControl;}
};

main(){
    Estudiante s;
    s.establecerNombreCompleto("Fulanito de tal");
    s.establecerNumeroDeControl(20930185);
    std::cout << "Nombre: " << s.obtenerNombreCompleto()
                << std::endl << "Numero de control: "
                << s.obtenerNumeroDeControl() << std::endl;
}
En el código anterior, la clase Estudiante hereda los atributos y los métodos de la clase Persona, creando una relación de especialización, y como resultado, en la función principal se puede utilizar un objeto de Tipo estudiante como si fuera un objeto de tipo Persona.

Ivan_MP_2B6
Invitado


Volver arriba Ir abajo

Tema 4 (2021) Empty Re: Tema 4 (2021)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.