最好将方法添加到预定义的类或make子类?

And*_*sov 1 language-agnostic oop

假设您要将lengthOfFirstLine方法添加到预定义的File类.修改现有类是一个更好的做法,还是使用新方法创建一个扩展File类的新类?

编辑 - 具体来说,情况是一个类特别缺乏一种方法.我不想完全改变类,而是用该方法扩充它.

Lui*_*uis 5

这取决于该方法是否适用于类File的所有元素.例如,lengthOfFirstLine不适用于二进制文件,因此它可能不属于通用的File类,但如果您的类只表示文本文件,那么它应该去那里.