关于继承的设计

我将成员变量称之为类的属性,  将成员函数称之为类的接口

关于子类继承父类,  比较让我蛋疼的用法就是在子类中直接使用父类的成员变量,  且不说父类完全有可能不是自己设计的, 就算是自己设计的, 也许已经过了N久了, 再次使用父类里面的属性时都要想一下这个属性到底是干什么用的.
比如当时写了一个类:Parent,  而且也就是在当时, 还写了一个子类:Man,  然后在Man这个类中直接对Parent的属性进行操作.  然后又过了N久,  某一位新人接手先人写的代码,  但是它只拿到了Man的代码,  并没有Parent的代码,  看的时候就会郁闷, 有些属性明明没有,  为毛会在Man里面使用了呢, 当然了,细想一下可以推断出某些属性是在其父类中定义的,  这是简单的继承,  如果对于一个杂而庞大的类网络而言,  这样的写法,  会让后人骂他祖宗十八代.

人个的看法,  对于一个类而言,  所有的属性都是它自己的特性,  就将这些属性全设置为private吧,  如果某些属性是想让所有外部都可以调用的话,  就对这些属性写两个public的接口,  一个用来读, 一个用来写. 或者是只能读不能写.   再有一些属性是希望子类可以使用, 但是不对外公开的话,  就对这些属性写些protected的接口吧.  即,  想对某个对象属性进行操作,  不管是不是不相关的类,  又或者是子类,  请通过接口来操作!   这样在看子类代码的时候,  就不会有时候看到莫名其妙的对某个属性进行的操作.

原文地址:https://www.cnblogs.com/emyueguang/p/3898954.html