Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 03
Herencia
Sintaxis
class CDerivada : CBase
{
//cuerpo de la clase derivada
}
Ejemplo Derivación
class CBase{ class CDerivada : CBase{
public CBase(){ } public CDerivada(){ }
public void Mostrar(){ } public void Mostrar(){ }
} }
Al realizar la llamada al
método Mostrar desde un
objeto de la clase derivada,
solo se ejecutara este y no el
de la clase base
Solución !!!
public void Mostrar() {
base.Mostrar(); //llamada al método de CBase
System.Console.WriteLine("CDerivada::Mostrar( )");
}
Constructores y herencia
Los objetos de clase base siempre se construyen antes
que cualquier clase derivada.
¿Qué es un Assembly?
Un assembly puede ser un archivo ejecutable o una librería de enlace dinámico,
que puede poseer código ejecutable y/o recursos(bitmaps, iconos ocualquier
tipo de dato). Cada assembly posee un manifiesto que describe su contenido e
informa de otras propiedades como su nombre, versión, etc.
Clases abstractas
Se utilizan como clases base en jerarquías de herencia
• No pueden utilizarse para instanciar objetos, ya que las clases
abstractas están incompletas
• El propósito, es el de proporcionar una clase base apropiada para así
compartir un diseño común.
• Le llamamos clases concretas a las clases que podemos utilizar para
crear instancias.
• Las clases abstractas son demasiado generales como para poder
crear objetos
• Las clases concretas proporcionan los detalles específicos que
hacen razonable la creación de instancias.
• Para definir una clase como abstracta, se declara con la palabra clave
abstract
• Los métodos abstractos, no proporcionan implementación
• Una clase que posea métodos abstractos, debe declararse
abstracta.
ejemplo
abstract class CFigura{
protected string figura;
figura1.Dibujar();
figura1.TipoFigura();
figura2.Dibujar();
figura2.TipoFigura();
System.Console.Read();
}
Delegación
Es una técnica en la que un objeto de cara al exterior expresa cierto
comportamiento pero en realidad delega la responsabilidad de
implementar dicho comportamiento a un objeto asociado en una
relación inversa de responsabilidad.