¿Cómo funciona la herencia en c ++?

Video: Curso de C++ // Cap. 21 // [POO] Herencia simple y multiple [+ funciones Inline]. [HD]

yonheritance en C ++ la capacidad de una clase para heredar las capacidades o propiedades de otra clase. La herencia es un concepto común. Se heredan ciertas propiedades de la clase Humano, tal como mi capacidad de conversar (más o menos) de forma inteligente y mi dependencia de aire, agua, y alimento a base de hidratos de carbono (un poco demasiado dependiente de este último).

Video: Sistema AC cómo funciona

Estas propiedades no son exclusivos de los humanos. La clase Humano hereda las dependencias en el aire, el agua y el alimento de la clase Mamífero, que heredó de la clase Animal.

La capacidad de pasar por propiedades es muy poderosa. Se le permite describir las cosas de una manera económica. Por ejemplo, si alguien pregunta: “¿Qué es un pato?” Usted puede decir: “¡Es un pájaro que va charlatán.”

Video: Como Funciona el Aire Acondicionado de Auto

A pesar de lo que pueda pensar, esa respuesta transmite una cantidad considerable de información. Él sabe lo que es un pájaro, y ahora él sabe todas esas mismas cosas acerca de un pato más propiedad adicional del pato de “quackness.”

(OO) lenguajes orientados a objetos expresan esta relación de herencia al permitir que una clase herede de otra. lenguajes orientados a objetos pueden generar un modelo que está más cerca del mundo real (recordar que las cosas en el mundo real!) que el modelo generado por los lenguajes que no soportan la herencia.

C ++ permite una clase a otra clase heredará la siguiente manera:

Estudiante clase {} - clase GraduateStudent: Estudiante pública {} -

Aquí un Estudiante graduado hereda todos los miembros de Estudiante. Por lo tanto, una Estudiante graduado ES UN Estudiante. (La capitalización de ES_UN hace hincapié en la importancia de esta relación.) Por supuesto, Estudiante graduado También puede contener otros miembros que son exclusivos de una Estudiante graduado.

Inheritance se introdujo en C ++ por varias razones. Por supuesto, la razón principal es la capacidad de expresar la relación de herencia. Una razón secundaria es reducir la cantidad de escritura.

Suponga que tiene una clase Estudiante, y se le pedirá que añadir una nueva clase llamada Estudiante graduado. La herencia puede reducir drásticamente el número de cosas que hay que poner en la clase. Todo lo que realmente necesita en la clase Estudiante graduado son cosas que describen las diferencias entre los estudiantes y los estudiantes graduados.

Otro efecto secundario tiene que ver con la modificación del software. Supongamos que se hereda de una clase existente. Más tarde, se encuentra que la clase base no hace exactamente lo que necesita la subclase. O tal vez la clase tiene un error.

Modificación de la clase base podría romper otro código que utiliza esa clase base. Creación y uso de una nueva subclase que sobrecarga la función incorrecta con una versión corregida resuelve su problema sin causar más problemas a alguien else.

Artículos Relacionados