jueves, 4 de junio de 2009

Clases genericas (plantillas)

Clases Genéricas (Plantillas)

Las clases genéricas encapsulan operaciones que no son específicas de un tipo de datos concreto. El uso más común de las clases genéricas se da con las colecciones, como listas vinculadas, tablas hash, pilas, colas, árboles, etc., en las que las operaciones tales como agregar y quitar elementos de la colección se realizan de forma similar independientemente del tipo de datos que se almacena.

Normalmente, para crear clases genéricas se empieza a partir de una clase concreta existente y se cambian los tipos, uno a uno, por parámetros de tipo hasta que se obtiene un equilibrio óptimo entre generalización y utilidad. Al crear sus propias clases genéricas, se deben tener en cuenta las siguientes consideraciones importantes:

· Tipos que se generalizan como parámetros de tipo.

Como regla general, cuantos más tipos se puedan parametrizar, más flexible y reutilizable será el código. Sin embargo, un exceso de generalización puede producir código difícil de leer y comprender para otros programadores.

Una buena regla consiste en aplicar las restricciones máximas posibles que sigan permitiendo controlar los tipos que es necesario controlar. Por ejemplo, si sabe que la clase genérica está exclusivamente destinada al uso con tipos de referencia, aplique una restricción de clase. Esto evitará el uso imprevisto de la clase con tipos de valor y permitirá utilizar el operador as en T y comprobar si hay valores nulos.

· Factorizar o no el comportamiento genérico en las clases base y las subclases.

Dado que las clases genéricas pueden actuar como clases base, se aplican las mismas consideraciones de diseño que con las clases no genéricas. Vea más adelante las reglas para la herencia de clases base genéricas.

· Implementar o no una o varias interfaces genéricas.

1 comentario:

  1. o vaya este es el unico lugar que expone exactamente lo que quiero, exelente!

    ResponderEliminar