软件开发随想:“珍惜第一次”

来源:互联网 发布:cms系统下载 编辑:程序博客网 时间:2024/06/06 17:43

首先声明这是谈软件开发,不必要过多联想!

“珍惜第一次”,这是最近和一个朋友讨论是继承还是组合时碰撞出来的一个想法。多重继承曾经很强大,但也一直被诟病。C++支持多重继承,但和C++“同辈份”的Objective-C以及“下一代”的Java、C#都不支持多继承。继承很强大,可以轻易复用父类代码。但在考虑多重继承的情况下,继承有代价,因为只能有一次。比如设计是经常会遇到这样的情况:A类因为需求1要从B继承,同时因为需求2要从C继承,这样就容易陷入“二选一”的尴尬境地。这类问题往往是滥用继承导致“第一次”继承机会的丧失。设计中一旦不够克制,很容易一看到可以满足需求的就继承。这样不仅很容易失去类自身定位,而且当更迫切需要继承的另一个类出现的时候才发现已经失去了第一次,追悔莫及!

因此,使用继承的时候切记要“珍惜第一次”。

原创粉丝点击