荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Second (石开), 信区: Program
标  题: [转载]中国人自己的开发工具HB++<面向对象技术>
发信站: 荔园晨风BBS站 (Wed Jun 27 07:40:49 2001), 转信

    这些是基本的开发语言语句,HB++对面向对象作了不少支持工作,在这方面,比VB.NET
最新版的面向对象支持方面更加出色.
一.类定义方式
Class 类名
End Class
类名是全局的,完全可以作为一个新类型使用.
HB++提供TypeDef语句,将任何类型都可以拥有别名,也可以传递定义别名.
二.继承
Class 类名 From 父类名
End Class
函数名相同,参数类型相同或返回类型相同,会被子类覆盖父类.
但在子类函数中给定父类名的限定词,可以调用父类的函数.
成员数据如果名称相同,同样会覆盖父类此同名成员数据.只有前面加父类名限定词可以
读取父类中的此成员数据.
三.重载
函数名相同,参数类型或返回类型不同,即为重载.在使用函数过程中,HB++自动编译出此
函数应该是哪个具体执行的函数.
同时,如果没有函数重载,那么,HB++自动转换参数类型不同的情况.
HB++也支持缺省参数方式,对函数参数定义时,只要在参数定义中加上  OPARETION 参数
定义 [= 缺省值],就表示此参数属于可选择的参数)
四.虚函数
同C++的虚函数具有等同的功效.要求必须是同一基类派生的子类中设定的虚函数拥有自
动识别类自身的函数编译能力.
五.构造函数
对于类构造,会自动执行构造函数.构造函数具有一般函数的相同性质,可以重载.构造函
数的继承,会根据父类相同构造函数自动继承,如果父类没有此构造函数,HB++会自动将缺
省构造函数作为继承执行的构造函数.缺省构造函数就是无参数的构造函数.
六.事件继承
提供预置事件处理功能.事件在C++中是靠函数指针实现,在HB++中有相同的处理方法,但
没有具体的事件函数指针.你只要定义事件属性就可以了.
如果在类定义中,除了定义事件属性外,还对此事件编写了具体操作过程,这样,只要是此
类或此类的派生类的对象实例,都会自动拥有这个事件的处理过程.当然,你也可以对某个
对象实例单独定义事件处理过程,这样会覆盖预定义的事件处理过程.如果仍然需要预定
义的事件,可以在自己的事件定义中调用预定义的事件过程.
七.类模板
Class 类名<类型参数表>
类型参数表的参数个数最多达到10个
类模板与C++中的类模板有相同的功效.我们可以把事情解决方案抽象化,制作成模板,只
要带入要使用的类型,就可以达到复用功效.
八.读写属性函数
Property Get 属性函数名() as 返回类型
End Property
Property Let 属性函数名(新值 as 类型)
End Property
Property Set 属性函数名(新值 as 对象类)
End Property
当使用属性函数名是,如果是读操作,会自动执行读的函数(Get),如果是写操作,会自动执
行写的操作(LET或SET)
九.自动保存工程数据
只要是使用HB++中的类或集合类模板,HB++将会把不管多么复杂的类关联的实例,一一保
存到指定的文件中,而且是单文件.
读取时,仅仅执行此类的Load(文件名)即可自动恢复原来的所有对象数据.
这样,开发应用软件不需要考虑保存工程数据的问题.
十.类信息
HB++的中文名称是:透明语言,对于透明,HB++提供读取类信息的能力和再次外部扩展类功
能的能力.

--
                            既然热爱生命
                            那么,
                            一切都在意料之中。

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.190]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店