性质约束和性质扩展

[复制链接]
发表于 2008-9-29 20:22:25 | 显示全部楼层 |阅读模式
<P>类的派生(<FONT color=#0000ff>继承</FONT>)是面向对象程序设计方法和c++语言最重要的特征之一。</P>( _) s& D  ]( z3 t% a5 {- L
<P><FONT color=#0000ff>继承</FONT>常用来表示类属关系,不能将<FONT color=#0000ff>继承</FONT>理解为构成关系,怎么说呢? 比如我们假设昆虫是一个类,而蝴蝶也是一个类,这两个类是派生(<FONT color=#0000ff>继承</FONT>)的关系,基类是昆虫,派生类是蝴蝶,这是一个类属的关系,蝴蝶类是属于昆虫类的,但不能理解为构成关系,蝴蝶这个类不是昆虫这个类中的成员(六足双翅等)的简单包括,它还有其他一些独特的成员,而原来的成员也被重新定义(比如触角,蝴蝶类的触角是须状的),这些都表明蝴蝶类是昆虫类的一个分支而不是构成关系。</P>7 `: m% ^7 L! t4 l
<P>从上面的例子来理解,从现存类中派生出新类时,可以对派生类做如下几种变化:</P>1 j4 E9 T9 R# B: o6 P8 I+ t
<P><FONT color=#ff0000>1.可以增加新的成员变量;</FONT></P>
- s( D' a/ R( i7 w<P><FONT color=#ff0000>2.可以增加新的成员函数;</FONT></P>
  N4 B1 p: `; f6 c! U<P><FONT color=#ff0000>3.可以重新定义已有的成员函数;</FONT></P>2 b2 f1 a9 K) E" @5 G  ?2 b
<P><FONT color=#ff0000>4.可以改变现有成员的属性(访问权限)。</FONT></P>6 _2 y: M1 P7 M9 H% `' I+ s
<P>以上允许派生类所作的变化是很广泛的,由此我们可以用派生类对其从父类继承来的的性质进行<FONT color=#ff0000>限制或删除</FONT>(这就是<FONT color=#0000ff>性质约束</FONT>),也可以对父类的性质进行<FONT color=#ff0000>增加</FONT>(这就是<FONT color=#0000ff>性质扩展</FONT>)。</P>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鲁ICP备19052200号-1

在本版发帖
关注公众号
QQ客服返回顶部