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毫秒