Manejo de cuenca hidrograficas
5.1 IMPORTNCIA EN HERENCIA EN Poo
Concepto de herencia
El mecanismo de herencia es uno de los pilares fundamentales en los que se basa la programación orientada a objetos. Es un mecanismo que permite definir nuevas clases a partir de otras ya definidas de modo que si en la definición de una clase indicamos que ésta deriva de otra, entonces la primera -a la que se le suele llamar clase hija- será tratada por el compilador automáticamente como si su definición incluyese la definición de la segunda –a la que se le suele llamar clase padre o clase base.
Las clases que derivan de otras se definen usando la siguiente sintaxis: class <nombreHija>:<nombrePadre> { <miembrosHija>
} …ver más…
Esto se debe a que por defecto los miembros de una tipo sólo son accesibles desde código incluido dentro de la definición de dicho tipo, e incluyendo public conseguimos que sean accesibles desde cualquier código, como el método Main() definido en Trabajador. public es lo que se denomina un modificador de acceso, concepto que se tratará más adelante en este mismo tema bajo el epígrafe titulado Modificadores de acceso.
Llamadas por defecto al constructor base
Si en la definición del constructor de alguna clase que derive de otra no incluimos inicializador base el compilador considerará que éste es :base() Por ello hay que estar seguros de que si no se incluye base en la definición de algún constructor, el tipo padre del tipo al que pertenezca disponga de constructor sin parámetros.
Es especialmente significativo reseñar el caso de que no demos la definición de ningún constructor en la clase hija, ya que en estos casos la definición del constructor que por defecto introducirá el compilador será en realidad de la forma:
<nombreClase>(): base() {}
Es decir, este constructor siempre llama al constructor sin parámetros del padre del tipo que estemos definiendo, y si ése no dispone de alguno se producirá un error al compilar.