Diciamo che ho un file CSV e creo una classe chiamata CsvFile
che si estende da java.io.File
. Questa classe può analizzare un file CSV e restituire alcuni dati come il numero di colonne nel file. Può anche essere utilizzato per funzioni che richiedono java.io.File
come input. Come F ileUtils.copyFile(File from, File to)
.L'incapsulamento per interruzione di eredità?
Il mio collega pensa che espongo troppo dall'eredità. La sua idea è quella di avvolgere java.io.File
trattenendolo in una proprietà privata, invece di ereditarla. Pensa di esporre tutto il metodo/proprietà pubblico dall'incapsulamento delle interruzioni di file, ma lo considero un vantaggio poiché otteniamo tutte le funzioni in java.io.File
gratuitamente.
Cosa ne pensi?
O o penso di no, ma la combinazione di entrambi è la via. Prima eredità in modo che la ruota non sia reinventata, piuttosto che modelli che incapsulano in modo che la ruota serva al suo scopo. –