Continuando con el tema referente a la programación orientada a objetos nos topamos con otros conceptos lo cuales son los Constructores y Herencia

Constructores

Los constructores son métodos especiales que sirven para inicializar los objetos que se van a crear. Para identificar de que se trata de un constructor es por que tiene el mismo nombre de la clase, ahora que pasa cuando no declaramos un constructor en la clase, pues lo que hace C# es asumirlo por omisión, esto quiere decir que puedes declarar una un constructor sin parámetros, por ejemplo:


Así es como se declara un constructor para la clase CCuenta, por ende como no cuenta con valores que lo inicialicen le carga los valores predeterminados del sistemas que seria los atributos numéricos en ceros, los alfanuméricos en nulos y las referencias a objetos también a nulos;

También existen los constructores en donde le podemos pasar parámetros, a este tipo se le denomina sobrecarga de un constructor. Por ejemplo, pasarle a la clase por medio del constructor los parámetros que necesitamos que inicie el objeto cuando es creado.

Ejemplo:

En este ejemplo se demuestran los 2 constructores uno es por default y la otra es con parámetros, estos constructores son creados en la clase, una vez creados estos constructores hay que crear los objetos en el programa principal.


Ya en el programa principal al momento de crear los objetos nos muestra las dos opciones que tenemos en los constructores previamente declarados indicando que tenemos un construcotr con parámetros y uno sin parámetros y que tipo de parámetros son los que recibe


Recuerden que los constructores nos sirven para indicar como que valores iníciales necesitamos que tengan los atributos declarados en la clase

Herencia

La herencia es una de las características importantes de la POO, por que permite que una clase herede los atributos y métodos de otra clase (los constructores no se heredan). Esta característica garantiza la reutilización del código.

Con la herencia todas las clases están clasificadas en una jerarquía estricta. Cada clase tiene su clase base (la clase superior en la jerarquía, también llamada clase base), y cada clase puede tener una o mas subclases (las clases inferiores en la jerarquía; también llamadas clases derivadas).

Para ejemplificar se va agregar un archivo a el programa, una clase mas que se llame CCuentaAhorro, escribiendo el siguiente código:


Aquí en este código se le esta indicando que la clase CCuentaAhorro va heredar todo el código de la clase base CCuenta, esto quiere decir que todo el código que hay en la clase CCuenta va ser utilizado por CCuentaAhorro hereda todo menos los constructores. En este ejemplo si modificamos la creación del objeto haciendo la declaración para un objeto de tipo CCuentaAhorro al momento de correr el programa se puede ver que corre exactamente como el ejemplo del post anterior, ya que todo el código ha sido heredado.


Punto a tomar en cuenta al momento de heredar una clase :

  • Una Subclase hereda todos los miembros de su clase base , excepto los constructores, lo que significa que no tenga acceso directo a todos los miembros .
  • Una Subclase no tiene acceso a los miembros privados de la clase base, caso contrario con los públicos que si puede accesar
  • Una Subclase puede tener sus propios atributos y métodos. Si el nombre de algunos de estos miembros coinciden
Gracias por los comentarios que dejo un anonimo, me motivo para hecharle ganas y publicar mas entregas

edit post