访问控制-abaqus user‘s manual

7.2访问控制派生类继承了基类的全部数据成员和除了构造、析构函数之外的全部函数成员,但是这些成员的访问属性在派生的过程中是可以调整的。从基类继承的成员,其访问属性由继承方式控制。基类的成员可以有publicC公有人protected C保护)和privateC私有)三种访问属性。基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的对象,就只能访问该类的公有成员。类的继承方式有publicC公有继承人protected(保护继承〉和private(私有继承)三种。不同的继承方式,导致原来具有不同访问属性的基类成员在派生类中的访问属性也有所不同。这里说的访问来自两个方面:一是派生类中的新增成员访问从基类继承的成员;二是在派生类外部(非类族内的成员) .通过派生类的对象访问从基类继承的成员。下面分别进行讨论。 7.2.1公有继承当类的继承方式为公有继承时,基类的公有成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。也就是说基类的公有成员和保护成员被继承到振生类中访问属性不变,仍作为派生类的公有成员和保护成员,派生类的其他成员可以直接访问它们。在类族之外只能通过派生类的对象访问从基类继承的公有成员,而无论是派生类的成员还是派生类的对象都无法直接访问基类的私有成员。例7-1 Point类公有继承。 Point类是在前面的章节中多次使用的类。在这个例子中,将从Point类派生出新的RectangleC矩形)类。矩形是由一个点加上长、宽构成。矩形的点具备了Point类的全部特征,同时,矩形自身也有二些特点,这就需要在继承Point类的同时添加新的成员。这两个类的继承关系可以用UML图形描述,如图7-3所示。下面先来看程序的头文件部分。 //Point.h #工fndef POINT H # define PO工NT H class point ( public: //基类Point类的定义//公有函数成员void in工tPoint(float x=O , float y=O) [this->x=x; this->y=y;} void move (float offX , float offY) (x+=offX; y+=offY;) float getX () const (return x; ) float getY() const [return y;) pr工vate: 11私有数据成员float x , y;
pdf 文件大小:21.99MB