java中为什么vo不可以继承do?
技术上这样写没问题。
概念上,一个vo是一个do吗?
如果不满足X is a Y的关系,就不要让X继承Y。
那为啥技术上可以,不一定就可以写呢?
因为技术上可以指的是给计算机可以执行。
写代码还要考虑可读性,性能,可扩展性,可维护性,概念一致性等等等等。
特别是概念一致性。我认为一个系统最大(不是损失最大,而是处理难度最大)的bug就是概念不一致。
概念不一致,则后面极其容易发展出各种各样的bug,而且这样的bug特别难以修复。
你修好了这一端,另一端就出问题了,修好了另一端,这一端又出问题了。
而且为了修复这样的问题,必然会搞出一些令人费解的代码,后面的人(包括自己),再去维护它,那简直就是一场噩梦。
所以,如果X is not a Y,那就不要为了一时的省事强行建立继承关系。