Respuestas
Respuesta:
La Inherits instrucción se utiliza para declarar una nueva clase, denominada clase derivada, basada en una clase existente, conocida como clase base. Las clases derivadas heredan y pueden extender las propiedades, los métodos, los eventos, los campos y las constantes definidos en la clase base. En la sección siguiente se describen algunas de las reglas de herencia y los modificadores que se pueden usar para cambiar la forma en que las clases heredan o se heredan:
Explicación:
ojalá te sirva
Respuesta:
La Inherits instrucción se utiliza para declarar una nueva clase, denominada clase derivada, basada en una clase existente, conocida como clase base. Las clases derivadas heredan y pueden extender las propiedades, los métodos, los eventos, los campos y las constantes definidos en la clase base. En la sección siguiente se describen algunas de las reglas de herencia y los modificadores que se pueden usar para cambiar la forma en que las clases heredan o se heredan:
De forma predeterminada, todas las clases se pueden heredar a menos que estén marcadas con la NotInheritable palabra clave. Las clases pueden heredar de otras clases del proyecto o de clases de otros ensamblados a los que hace referencia el proyecto.
A diferencia de los lenguajes que permiten la herencia múltiple, Visual Basic solo permite la herencia única en las clases; es decir, las clases derivadas solo pueden tener una clase base. Aunque no se permite la herencia múltiple en las clases, las clases pueden implementar varias interfaces, lo que puede lograr de forma eficaz los mismos extremos.
Para evitar la exposición de elementos restringidos en una clase base, el tipo de acceso de una clase derivada debe ser igual o más restrictivo que su clase base. Por ejemplo, una Public clase no puede heredar una Friend Private clase o, y una Friend clase no puede heredar una Private clase.
Modificadores de herencia
Visual Basic presenta las siguientes instrucciones y modificadores de nivel de clase para admitir la herencia:
Inheritsinstrucción: especifica la clase base.
NotInheritablemodificador: impide que los programadores usen la clase como clase base.
MustInheritmodificador: especifica que la clase está pensada para usarse solo como una clase base. Las instancias de MustInherit clases no se pueden crear directamente; solo se pueden crear como instancias de clase base de una clase derivada. (Otros lenguajes de programación, como C++ y C#, usan el término clase abstracta para describir una clase de este tipo).
Reemplazar propiedades y métodos en clases derivadas
De forma predeterminada, una clase derivada hereda propiedades y métodos de su clase base. Si una propiedad o un método heredado tienen que comportarse de forma diferente en la clase derivada, se puede invalidar. Es decir, puede definir una nueva implementación del método en la clase derivada. Los siguientes modificadores se utilizan para controlar cómo se reemplazan propiedades y métodos:
Overridable: Permite que una propiedad o un método de una clase se invalide en una clase derivada.
Overrides: Reemplaza una Overridable propiedad o un método definidos en la clase base.
NotOverridable: Impide que una propiedad o un método se invalide en una clase heredada. De forma predeterminada, Public los métodos son NotOverridable .
MustOverride: Requiere que una clase derivada invalide la propiedad o el método. Cuando MustOverride se usa la palabra clave, la definición del método consta únicamente de la Sub Function instrucción, o Property . No se permiten otras instrucciones y, en concreto, no hay ninguna End Sub End Function instrucción o. MustOverridelos métodos deben declararse en MustInherit clases.
Supongamos que desea definir clases para controlar la nómina. Podría definir una clase genérica Payroll que contiene un RunPayroll método que calcula la nómina para una semana típica. Después, puede usar Payroll como clase base para una clase más especializada BonusPayroll , que podría usarse al distribuir las bonificaciones de empleado.
La BonusPayroll clase puede heredar e invalidar el PayEmployee método definido en la Payroll clase base.
En el ejemplo siguiente se define una clase base Payroll, y una clase derivada, BonusPayroll , que invalida un método heredado, PayEmployee . Un procedimiento, RunPayroll , crea y, a continuación, pasa un Payroll objeto y un BonusPayroll objeto a una función, Pay , que ejecuta el PayEmployee método de ambos objetos.