假设我有一个CSV文件,并且创建了一个名为CsvFile的类,该类继承自java.io.File。这个类可以解析CSV文件并返回一些数据,比如文件中有多少列。它还可以用于需要输入java.io.File的函数,例如FileUtils.copyFile(File from, File to)。
我的同事认为我从继承方面暴露了太多内容。他的想法是通过将其保存在私有属性中来包装java.io.File,而不是继承它。他认为从文件中公开所有公共方法/属性会破坏封装性,但我认为这是一个好处,因为我们免费获得了java.io.File中的所有函数。
你怎么看?
我的同事认为我从继承方面暴露了太多内容。他的想法是通过将其保存在私有属性中来包装java.io.File,而不是继承它。他认为从文件中公开所有公共方法/属性会破坏封装性,但我认为这是一个好处,因为我们免费获得了java.io.File中的所有函数。
你怎么看?