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

yonheritance En C ++ la capacidad de una clase a heredar capacidades o propiedades de otra clase. La herencia es un concepto común. Usted hereda ciertas propiedades de la clase Humano, como mi capacidad de conversar (más o menos) de forma inteligente y mi dependencia del aire, el agua y el alimento a base de hidratos de carbono (un poco demasiado dependiente en el segundo).

Estas propiedades no son exclusivos de los seres 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. Le permite describir las cosas de una manera económica. Por ejemplo, si alguien pregunta, " ¿Qué es un pato "? Puedes decir, " Es un pájaro que va cuac ".

A pesar de lo que puedas pensar, esa respuesta transporta 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 OO pueden generar un modelo que está más cerca del mundo real (recordemos que en el mundo real las cosas!) Que el modelo generado por los lenguajes que no soportan la herencia.

C ++ permite que una clase a otra clase heredar como sigue:

clase Student {} - 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 destaca la importancia de esta relación.) Por supuesto, Estudiante graduado también puede contener otros miembros que son únicos para 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 de las razones de menor importancia es el de reducir la cantidad de mecanografía.

Suponga que tiene una clase Estudiante, y se le pedirá que agregue una nueva clase llamada Estudiante graduado. La herencia puede reducir drásticamente el número de cosas que tienes que poner en la clase. Todo lo que necesitas en la clase Estudiante graduado son cosas que describen las diferencias entre los estudiantes y los estudiantes de posgrado.

Otro efecto secundario tiene que ver con la modificación del software. Supongamos que 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 algún otro más problemas.




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