
Audio nA U5L4-A: Subclases y superclases. Especialización y generalización.
Denominaremos especialización a la relación en donde una clase, la subclase, hereda todas las principales características de otra clase, la superclase. Si invertimos el punto de vista, es decir, la superclase hereda las características de la subclase entonces hablaremos de generalización. Si la superclase no tiene una sección o parte privada, la subclase es una réplica exacta de la superclase, De todos modos, podemos añadir nuevos componentes a la subclase. Esto permite convertir a la subclase en una versión especializada de la superclase. Si una subclase es ella misma una misma una superclase de otras clases se está introduciendo un nuevo nivel de especialización.
Audio nA U5L4-B: Sobre los métodos y clases abstractas y finales.
Las adicciones ABSTRACT y FINAL en las sentencias METHODS y CLASS permiten definir métodos o clases abstractas y finales. Un método abstracto se define en una clase abstracta y no puede ser implementado en esa clase. Tiene que ser implementado en una subclase de la clase. Las clases abstractas no pueden ser instanciadas. Un método final no puede ser redefinido en una subclase. Las clases finales no pueden tener subclases. Son las que finalizan el árbol de herencia.