说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB 6.0中类聚集关系的实现

HTML文档下载 WORD文档下载 PDF文档下载
VB 6.0中类聚集关系的实现
作者:武汉交通科技大学
杨青 刘洪星
---- 类之间最主要的关系有两种,它们是聚集(Aggregation)和继承(Generelization)。聚集表示类之间的关系是整体与部分的关系,例如一个家庭有一个父亲、一个母亲和若干个孩子。类之间的聚集关系又称包含关系,一个类由若干个其他类组合而成,当该类的实例被创建后,组成它的各类的实例将自动被创建。

---- 下图描述了Family类与组成它的各类之间的关系。Family类与Father类、Mother类的关系是一对一的关系,而Family类与Child类的关系是一对多的关系。为了简化类之间的关系,我们增加了一个Children类,Children类是Child类的集合,因此Family类与Children类直接关联,形成一对一的关系。

Family------------ > Father
|
-------- > Mother
|
-------- > Childred ------ >child

---- VB6.0对类聚集关系的实现提供了较好的支持。在下面的程序中,我们仅给出了与Falimy类、Children类、Child类的具体实现有关的代码,以此为例说明类聚集关系的实现方法。
---- 程序中定义了三个类模块:Falimy类模块,Children类模块,Child类模块。在Falimy类模块中,利用属性过程,Mother类、Father类、Children类被定义为Family类的只读属性。下面是Family 类模块中声明部分的代码。

Option Explicit
Private mFather As New Father
Private mMother As New Mother
Private mChildren As New Children
Public Property Get Father() As Father
Set Father=mMother
End Property
Public Property Get Mother()As Mother
Set Mother()=mMother
End Property
Public Property Get Children() As Children
Set Children= mChildren
End Property

---- 下面是Children类模块的代码,首先在类模块的说明部分创建了集合类Collection的实例mcolChildren。在定义公共方法Add时,通过引用mcolChildren的Add方法将新的Child 对象添加到集合中,Children类被定义成Child类的集合。通过直接引用mcolChildren的属性Count定义了Children类的公共属性Count,通过直接引用mcolChildren的方法Item定义了Children类的公共方法Item。
---- 我们还可以根据需要实现其他的属性和方法。通过创建Children类,与Children类有关的所有代码都封装起来,使得Children类可以进一步重用,从而较好地体现了面向对象程序设计的原则。

Option Explicit
Private mcolChildren As New Collection
Public Property Get Count() As Long
Count = mcolChildren.Count
End Property
Public Function Add(ByVal Name As String,
ByVal BirthDayAs Date,ByVal Sex As Boolean ) As Child
Dim empNew As New Child
Static intNum As Integer
With empNew
intNum = intNum + 1
.Name = Name
.BirthDay= BirthDay
.Sex=Sex
mcolChildren.Add empNew
End With
Set Add = empNew
End Function
Public Function Item(ByVal Index As Variant) As Child
Set Item = mcolChildren.Item(Index)
End Function

---- 下面是Child类声明部分的代码。
Option Explicit
Public Name As String
Public BirthDay As Date
Public Sex As Boolean

---- 程序中还定义了一个窗体模块。在窗体上布置有三个文本框txtName、txtBirthDay、txtSex,一个列表框lstChildren,两个命令按纽cmdAddChild、cmdListChild。
---- 在窗体模块中首先创建了一个Family类的实例sbMain,Children类和Child类的实例也随之被创建。在事件过程中,仅通过引用sbMain的属性Children,我们就可以实现对Children类的各种操作。

Option Explicit
Public sbMain As New Family
Private Sub cmdAddChild_Click()
sbMain.Children.Add txtName.Text,
txtSalary.Text,txtSex.Text
txtBirthDay.Text = " "
txtName.Text = " "
txtSex.Text=" "
End Sub
Private Sub cmdListChild_Click()
Dim emp As New Child
Dim i As Long
lstChild.Clear
For i = 1 To sbMain.Children.Count
Set emp = sbMain.Children.Item(i)
lstChild.AddItem emp.Name & ", "
& emp.BirthDay&", "emp.Sex
Next
End Sub

NoSQL依赖的不只是大数据 还有应用程序架构的改变 新一代Apple TV增强内在组件 外观不变 加速Web开发的7款知名HTML5框架 Firefox OS开发者日来袭 5小时15款Web应用出炉! 微软发布Office 365家庭高级版 订阅费499元/年 鲍尔默对Office信心满满,十亿用户量触手可及 【多图】梦幻现实 IBM的未来超级计算机水世界 一名骨灰级工程师的OpenStack部署总结引发的讨论 解读DuckDuckGo搜索 百万点击也敢叫板Google 开发者成功学:扔掉你那些很sexy的想法 VMware严控ESXi API 引发用户和ISV被绑架担忧 布局O2O Facebook推出实物礼品卡 iSuppli:微软Surface RT实际销量远低于出货量 业界前三甲:App Store两个刷榜者,站了出来 极客无极限 一行HTML5代码引发的创意大爆炸 将服务器“弃”之荒野? 微软玩转露天数据中心 Dropbox:我们现在关注“内容” 而不仅仅是文件存储 访Teradata Aster Mayank Bawa:抛弃无效数据,让分析走向大众化 谷歌Chrome或新增通知中心 与Google Now整合 传言称HBO节目将登陆苹果Apple TV? Crashlytics被收购,应用崩溃报告服务要火了? 微软公布WP7.8完整功能 诺基亚率先升级 BlackBerry 10或许不仅仅是一剂强心针 一周消息树:专访蒋彪:JavaEE是企业级开发首选 移动周报:从封闭到开放,iOS生态系统要变天? 游戏平台上:Win7已跌破70% Ubuntu突破1% 不再那么传奇 扎克伯格时代或结束 微软应该联手Firefox OS,打造破坏性生态系统 中美IT人才俱乐部第一期:硅谷经验面面观 中国第四季度Android和iOS智能手机出货量高达98% 开发者眼中的代码审查“真相” 一方有难,八方支援,我有疑难,你能否来? Modem之间建立无法建立连接,据说跟电平有关? Oracle中字段为Long的数值在Java中如何保存? 100分求解!先答先得! ■■■北京真是个烂地方,整天就为一些租房子、自行车被偷之类的事情操心,真是没劲,同意者请进!!! Modem之间建立无法建立连接,据说跟电平有关? 面向对象分析 数据库是oracle的后台ejb如何编译?请给个详细一些的说明或者文章,谢谢谢谢 烦人的问题(该问题在VBA区也没解决),怎样在word中为自定义按钮动态制定自定义的图标? 怎样将用Graphics类画的图保存为jpeg文件格式(在线等候)谢谢 想和大家一起来讨论 VC中的快捷操作! 请奉献!!!!! oracle字符集问题,在线等待,解决后马上结帐! 谁能告诉我CJLibrary是一个什么样的类库?以及他的功能?谢谢!!! 在水晶报表中如何调用存贮过程?在线等!!! Modem之间建立无法建立连接,据说跟电平有关? 寻书城管理软件系统 提示 一个很重要又很常见的问题。 请问有什么调试工具来调试asp程序 一方有难,八方支援,我有疑难,你能否来? 请问使用STL如何将字符串变成大写 OOAD 我对这段代码很困惑!!不知为何出错,请大虾指点一二!!! SQL Server数据库中支持的数据表的最大数是多少? 有会用SDL(Simple DirectMedia Layer)的么? 如何重新启动电脑啊 ooad 有人对xml文档及schema映射为数据库的记录和表作过研究吗? 窗体启动时,Load之后是什么事件 安装好了J2EESDK1。4后怎样运行JAVA程序? 有关DBGrid的问题 IBM的硬盘是不是很菜!惨啊!奉劝大家多多备份,不要买IBM的盘 合格的程序员应该具备哪些知识和技能? 在报表中如何显示出来----共n页/第几页 急寻广州深圳两地图书城管理软件公司 用jdk写出的application里的汉字很难看,有没有解决的办法? 面向对象分析与设计 那位有<<java大学教程>>的光盘,可不可以把光盘上的附录部分发给我!(100分) 关于win2000中的odbc的问题 vfw 软件工程师和程序员有什么不同? 一方有难,八方支援,我有疑难,你能否来? 唉。 发现有人还在吃糠。。。。痛心ing.............. 为什么我连不到mysql? 有什么比做ghost更好的硬盘数据备份方法? 请教:在dataGrid 中如何根据行值的不同,设置不同的颜色 一般菜的问题,不知道你遇到过没有,请大家过来看一下 分析与设计 3D場景鋸齒消除問題 一方有难,八方支援,我有疑难,你能否来? 发布新软件,请帮助测试 氯化亚铁和氢氧化亚铁如何相互转换? 三角形的问题 (11 18:13:13)已知△ABC的边长分别为abc化简|a+b-c|-|b-a-c|的结果是什么?A.2aB.-2bC.2a+2bD.2b-2c 我这个人很笨,帮我列一下方程并且写写过程.一辆汽车以40km/h的速度有甲地驶往乙地,3h后因遇雨速度改为30km/h,结果比原定时间晚45min到达乙地,求甲、乙两地间的距离? 氯化亚铁加什么可以变成氢氧化亚铁 一只额定功率是450w的电饭锅 在220v的额定电压下使用 每分钟产生多少焦耳的热量?我有思路 但总觉得别扭.谁会啊 我这个人很笨帮我列一下方程并且写写过程,thanks.某车间有22名工人,那个人每人每天平均生产方桌12张或方凳18张,1张方桌和4张方凳配成一套,要使每天生产的方桌和方凳刚好配套,应安排多少 -120乘以155乘以155乘以155+8500万乘以0.2+25亿乘以0.02=多少啊 关于初中二次函数的所有概念总结我二次函数不太懂,求关于2次函数的所有概念总结,如Y=AX平方,顶点(0,0)对称轴Y轴,与X的交点,最大(小)植.以知A,B2个顶点, 第12,14, 氢氧化亚铁如何转化为氯化亚铁Fe(OH)2+?=FeCl2不是说+2价铁化合物反应后会变+3价吗 《中华人民共和国高等教育法》的制定机关是 12 14 15三题 125乘以8和25乘以4 《中华人民共和国高等教育法》颁布于20世纪? 1,Yesterday morning he got up earlier than ____ ,for it was not a(n)____ day.A.common; usual B.usual,ordinary C.usual,normal D.common,ordinary2,How do you ____ it and what should ____ it?A.deal with,deal with B.deal with,do with C.do with,deal with D 翻译成英文:太极拳是一门中国武术 中国高等教育法是怎样规定我国高等教育的法律地位的?《中华人民共和国高等教育法》是怎样规定我国高等教育的法律地位的? 对……做出评论 用英语怎么说, 太极拳(功夫)是怎么发明的! 保护环境 250字 我要找关于小学三年级的环保的作文 一分钟速算对于孩子难不难学? 太极拳和其他武术我17岁,男,想学武术,各位说是练太极拳好还是练跆拳道或散打,我不急于求成的练太极拳要什么武术基础吗?列如马步,韧带之类 中华人民共和国外交部有哪些职责新中国外交走过了60年辉煌历程,为维护国家独立、主权和领土完整,增进中国和世界各国人民的相互了解和友好合作,促进世界和平与发展发挥了重要作用,取 跪求氢氧化亚铁和氯化亚铁之间的转化反应方程式? △+□=33 ○+□=39 △+○=34 求△= ○= □= 小学三年级关于保护环境的作文 200字 氯化亚铁转变为氢氧化亚铁的离子方程式还有氯化铁转变为氢氧化铁的离子方程式,两个都回答的加分。 蛋白质是高分子化合物么 关于环保的小学作文全文 怎样培养孩子的观察能力 33分之13=39÷() he put on his coat and went away ( ) as soon as he heard the ring.A.fast B.quick C.quickly D.slowly 如何培养孩子的观察能力? 33到39英语 怎样区别借物言志的诗与借物抒情的诗? 语文五年级上册第八单元口语交际200字 蛋白质是由什么互相结合形成的有机高分子化合物 写一首抒情或言志的诗句 语文五年级上册第八单元口语交际怎么写 尽量200字以内 1.如图所示,小强同学用压强计研究“液体内部压强与深度的关系”.(1)在实验中,小强把探头直接放到水杯底部,这时A处的橡皮管与玻璃管互相脱开,他观察玻璃管中的液体液面 ;(填“相 写一个抒情言志的诗 五年级上册语文第三单元口语交际50字左右只限今天1点 常熟市第一中学 是什么制度要交多少钱,是如何与初二的一起考 一般的,二次根式的运算结果中,被开方数中不应含_____的因数或因式 孩子做作业慢,咋办 “太极”如何翻译? 如何认识和看待我国高等教育的大众化求一篇关于谈谈如何认识和看待我国高等教育大众化的文章,一千字左右哦,急,在线等 硫化亚铁转化成氢硫酸方程式 常熟市一中 有秋游吗?(2010年)去哪啊? 我国高等教育体制改革的目标和意义是什么? 17-18两题 英语怎么翻译 太极湖 高教改革本科什么意思 最快者和答案最佳者必采纳 借物言志的诗句 第12.13. 问问首页我妹妹明天就要市一中分班考了,她想让我问问现在语文考的是不是书本上的内容,常熟市市一中 瑁 (28 18:23:4)“化学——人类进步的关键”是(    )在美国化学会成立100周年大会上的讲话A.爱因斯坦B.诺贝尔C.居里夫人D.西博格 方程怎么写,要过程
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘