Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduccion a herencia en c++

Introduccion a herencia en c++

Introduccion a herencia en c++

Angel Herrera Sara

November 07, 2017
Tweet

More Decks by Angel Herrera Sara

Other Decks in Programming

Transcript

  1. EL PROBLEMA: • Deseamos construir una clase TelefonoMovil. Y, en

    este caso, disponemos de otra clase, Telefono, que contiene la funcionalidad base. • Una funcionalidad no esta presente en la clase original(enviar mensajes cortos). • Se modifica el código de la clase Telefono y se la extiende para adaptarla a los requisitos funcionales de la clase TelefonoMovil.
  2. EL PROBLEMA: Se desaconseja esta forma de actuar: • La

    clase base posiblemente haya seguido un riguroso proceso de prueba. • En el caso de que otros desarrolladores utilicen esta clase, es posible que no deseen disponer del comportamiento adicional (envío de mensajes cortos). • Cualquier error introducido en esa modificación puede afectar seriamente a todos los programas que utilicen esa clase. • Modificar una clase, especialmente una que no ha escrito uno mismo, requiere un entendimiento completo de la implementación de la clase, y tal entendimiento puede ser imposible o poco práctico.
  3. Mecanismo para la extensión del comportamiento de una clase: Herencia

    • Permite definir una nueva clase extendiendo una clase ya existente. Esta nueva clase, clase derivada, posee todas las características de la clase más general y, además, la extiende en algún sentido:  Añadiendo nuevos miembros: atributos y métodos.  Modificando la visibilidad de los atributos y métodos heredados.  proporcionando una nueva implementación de las operaciones heredadas: Redefinición.
  4. JERARQUÍAS DE CLASES: • El mundo real está compuesto por

    un número inconcebible de clases de objetos como, por ejemplo, el coche, la bicicleta, la motocicleta, etc. Para reducir la complejidad que supone concebir tal cantidad de objetos, la mente humana utiliza un mecanismo básico de relación entre clases de objetos: la clasificación.
  5. CLASES DERIVADAS: • La herencia es la relación que existe

    entre dos clases, en la que una clase denominada derivada se crea a partir de otra ya existente, denominada clase base.
  6. DECLARACIÓN DE UNA CLASE DERIVADA: • La herencia es la

    relación que existe entre dos clases, en la que una clase denominada derivada se crea a partir de otra ya existente, denominada clase base.
  7. DECLARACIÓN DE UNA CLASE DERIVADA, ESPECIFICADOR DE ACCESO PUBLICO: •

    Especificador de acceso public, significa que los miembros públicos de la clase base son miembros públicos de la clase derivada. Herencia pública, es aquella en que el especificador de acceso es public (público). Herencia privada, es aquella en que el especificador de acceso es private (privado). Herencia protegida, es aquella en que el especificador de acceso es protected (protegido). • El especificador de acceso que declara el tipo de herencia es opcional (public, private o protected); si se omite el especificador de acceso, se considera por defecto private. La clase base (ClaseBase) es el nombre de la clase de la que se deriva la nueva clase. La lista de miembros consta de datos y funciones miembro.