Скажем, у меня есть файл CSV, и я создаю класс с именем CsvFile, который продолжается от java.io.File. Этот класс может анализировать CSV файл и возвращать некоторые данные, например, сколько столбцов находится в файле. Он также может использоваться для функций, которые принимают java.io.File в качестве входных данных. Как F ileUtils.copyFile(File from, File to).
Мой коллега полагает, что я слишком много выставляю из наследства. Его идея состоит в том, чтобы обернуть java.io.File, удерживая его в частной собственности, а не наследуя его. Он думает об экспорте всех открытых методов/свойств из инкапсуляции разрывов файлов, но я считаю это полезным, поскольку мы бесплатно получаем все функции в java.io.File.
Как вы думаете?