找回密码
 注册
搜索
查看: 1087|回复: 0

[讨论] 嵌入式linux下——C++下类的继承特征

[复制链接]
发表于 2012-5-14 09:21:35 | 显示全部楼层 |阅读模式
对象是类的一个实例,如果将对象比做一个房子,那么类就是房子的设计图纸,所以面向对象分析和设计重点是类的分析和设计。对于C++程序而言,设计孤立的类是比较容易的,比较困难的是正确设计基类及其派生类。

如果A是基类,B是A的派生类,那么B将继承A的数据和函数:

Class A

{

Public:

  Void Func1(void);

  Void Func2(void);

};

Class B:Public A

{

Public:

Void Func3(void);

Void Func4(void);

};

Main()

{

  B b;

  b.Func1(); //B从A继承了函数Func1

b.Func2(); // B从A继承了函数Func2

b.Func3();

b.Func4();

}

这个简单的示例程序说明了这样的一个事实:C++的“继承”特性可以提高程序的可复用性。类的可复用性还表现在派生类可以调用基类的函数来实现自己的函数,即使这些函数都是虚函数,这在许多库程序如MFC中很常见。

Class A

{

  Public:

   Void Func1(void);

   Void Func2(void);

};

Class B:Public A

{

Public:

  Void Func3(void)

{

  A:: Func1();//先调用基类的函数

  ……//自己的实现代码

}

Void Func4 (void)

{

Public:

  Void Func4(void);

  A:: Func2();//先调用基类的函数

  ……//后调用基类的函数

}

};

Main()

{

B b;

b.Func3();

b.Func4();

}

正因为“继承”太有用,太容易用,才要防止乱用。我们应当给“继承”设立一些规矩。

如果类A和类B毫无相关,不可以为了使B的功能更多一些而让B继承A的功能和属性。

[em01] 转载注地址:http://www.lirenedu.org/index.php?ack=xinwen&id=1032
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 02:13 , Processed in 0.045000 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表