关于继承的设计
我将成员变量称之为类的属性, 将成员函数称之为类的接口
关于子类继承父类, 比较让我蛋疼的用法就是在子类中直接使用父类的成员变量, 且不说父类完全有可能不是自己设计的, 就算是自己设计的, 也许已经过了N久了, 再次使用父类里面的属性时都要想一下这个属性到底是干什么用的.
比如当时写了一个类:Parent, 而且也就是在当时, 还写了一个子类:Man, 然后在Man这个类中直接对Parent的属性进行操作. 然后又过了N久, 某一位新人接手先人写的代码, 但是它只拿到了Man的代码, 并没有Parent的代码, 看的时候就会郁闷, 有些属性明明没有, 为毛会在Man里面使用了呢, 当然了,细想一下可以推断出某些属性是在其父类中定义的, 这是简单的继承, 如果对于一个杂而庞大的类网络而言, 这样的写法, 会让后人骂他祖宗十八代.
人个的看法, 对于一个类而言, 所有的属性都是它自己的特性, 就将这些属性全设置为private吧, 如果某些属性是想让所有外部都可以调用的话, 就对这些属性写两个public的接口, 一个用来读, 一个用来写. 或者是只能读不能写. 再有一些属性是希望子类可以使用, 但是不对外公开的话, 就对这些属性写些protected的接口吧. 即, 想对某个对象属性进行操作, 不管是不是不相关的类, 又或者是子类, 请通过接口来操作! 这样在看子类代码的时候, 就不会有时候看到莫名其妙的对某个属性进行的操作.