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.
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.
• 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.
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.
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.