Digamos que tengo un archivo CSV y creo una clase llamada CsvFile
que se extiende desde java.io.File
. Esta clase puede analizar un archivo CSV y devolver algunos datos, como cuántas columnas hay en el archivo. También se puede usar para funciones que toman java.io.File
como entrada. Como F ileUtils.copyFile(File from, File to)
.¿La herencia romperá la encapsulación?
Mi colega cree que exponer demasiado de la herencia. Su idea es envolver java.io.File
manteniéndolo en una propiedad privada, en lugar de heredarlo. Él piensa exponer todos los métodos/propiedades públicas de la encapsulación de los cortes de archivos, pero lo tomo como un beneficio ya que obtenemos todas las funciones en java.io.File
de forma gratuita.
¿Qué opinas?
Cualquiera o creo que no, pero la combinación de ambos es el camino. Primera herencia para que la rueda no se reinvente, que para patrones que encapsulan para que la rueda cumpla su propósito. –