Programming 版 (精华区)
发信人: zhangyan (从来就没有什么救世猪!), 信区: SoftEng
标 题: OO in C - Intro
发信站: 哈工大紫丁香 (2001年03月27日17:45:09 星期二), 站内信件
************************************************************************
*******
C中可移植的继承性和多态性
Fr: [ESP-9712]
By: Miro Samek
Rd: Amine Chen[a_mine@263.net]
****************************************************************************
***
虽然面向对象设计几乎与语言无关,但大部分文献都采用[assume]C++,Smalltalk,J
ava
用于OO实现.本文从更低层次看,认为过程语言(如C)同样可用于OO实现,想应用OO的嵌入
开发
人员不必转换到OO语言.
*是否可以用非OO语言(如C)编写OO程序?
*在没有C++编译器的小嵌入系统中,如何实现OO设计?
*如何改善C编码风格,以使代码可更好复用,更模块化[modular],更健壮?
*继承和多态实际是怎样工作的?
*使用C而不用OO语言实现OO设计,必须损失[compromise]多少便利和表现?
为了回答这些问题,本文提出了一个小型,可移植,高效的OO概念的C语言实现.
这些OO概念如下(本文解释如下这些"设计模式"在C中的实现):
*封装性--包装数据和函数为类,以及信息隐藏和模块化的技巧;
*继承性--基于已有类定义新类和行为[behavior]的能力,以获得代码重用&组织;
*多态性--同一消息送到不同对象,导致不同行为;
在实现中,采用Java语言继承和多态的方法. 类继承(或实现继承)作为单继承模型提供,
Object抽象类处于类层次的根部. 相反, 该实现允许多实现继承(提供多接口继承(类型
继承)),
允许类实现多个Java风格的接口.
*支持[leveraging]OO技术;
*从过程到OO思考的平滑过渡;
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.170.172]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.915毫秒