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

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

用Delphi实现禁止用户关闭Window9X 用Delphi制作能够干净地删除自己的程序 用DELPHI 做一个简单的屏幕保护程序 用Enter键代替Tab键-Delphi资料 用修改文件时间的方法来加密文件-Delphi资料 用最原始的方法编制程序-Delphi资料 运用Delphi编写Windows NT中服务程序 在DELPHI编程中确定系统运行模式 在Delphi程序中调用控制面板设置功能 在DELPHI下读取与设置系统时钟 在Delphi中避免2000年问题的捷径 在Delphi中调用API函数 在Delphi中获取和修改文件的时间 在Delphi中控制扫描仪 在Delphi中实现对WIN9X应用程序使用权限的设置 在Delphi中实现对目录拷贝、删除和搬移的操作 在Delphi中使用自定义光标 在Delphi中用拼音首字符序列来实现检索功能。 在DELPHI中用线程排序 在Delphi中制作背景音乐 在Dephi中使用TStream读写数据的技巧-Delphi资料 在应用程序中跟踪MOUSE的坐标-Delphi资料 怎样建立回调函数-Delphi资料 怎样显示自定义鼠标光标(Cursor)-Delphi资料 找出消失的 Delphi 窗口 执行外部程序-Delphi资料 执行一程序并等待其结束-Delphi资料 制作一个不在任务栏及任务列表中显示的幽灵程序-Delphi资料 抓获全屏-Delphi资料 子目录级的文件查询的实现-Delphi资料 Delphi中ChartFX构件使用详解 失败!!失败!!! 失业了,散分!!! 怎样在java的桌面程序里打开浏览器呢 DataGrid如何实现鼠标放上去改变颜色? Foxpro数据库中,可否导出oracle可以操作的表呢?大虾指点啊! 请问调用存储过程中一个输入参数为nvarchar(24)的时侯,我在asp中的输入怎么会报错? 失业了,散分!!! 华工科技开目软件集成公司怎么样? 失业了,散分!!! 失业了,散分!!! 失业了,散分!!! 我用update更新互联网上的数据库,总数大约有700多条,在更新过程中程序窗口没响应了,无法最大化,最小化,关闭,但进度条仍然在走,更 水园公务帖[2003.03.11——2003.03.17] 无人回答的帖子,再发一次。up有分 快去微软件聊天室了,开聊了。 from表单中的参数无法传递? 急!急!急!急!急!我安装Visual studio 6.0中文版不能够成功,是什么原因?? 关于Oracle的数据类型问题? 请问在vc中怎样创建Outlook对象 关于Cable Modem,高手指点。 毕业论文怎么作??????????? 新手送分(解决即给分) 天生爱吃冰激凌! 江湖告急!!!!! 整理 FAQ 的时候 为什么 总是出现 贴子内没有这个人的回复!!!:xxxxx 如何删除一段时间的记录?????(兄弟们帮帮我) 关于 Treeview控件,请高手指教。 推荐好书 Borland Delphi 6 中文企业版哪里有免费下载????????????????????500分 ADO中同一个Connection打开的RecordSet个数有没有限制? 我请教一个关于恢复数据库的问题!!!急急 关于特殊字符的问题!!!!!!!!! 要同时以cascade风格显示10个MessageBox对话框,请问有无可能? 如何用windows2000收发传真? yangjf接分 ASP.NET如何调用mschart asp.net中利用owc10生成了一个EXECL文件,但是不知道如何控制字体大小,及单元格的边框 数据库问题,请高手指点。 本人基础较差,刚刚学习c++,请教一个简单问题!!!! 为什么从左侧树状菜单进入论坛显示时 所有的 情形都是2月28时的贴子状况 笔记本安装SQL Server 2000老出问题 CSDN邮件期刊用什么打开呀?? 怎样用java把数据库里读出来的数据按自己定义的格式写入一个word文件 请问高手,PB7窗口属性面版里的窗口颜色下拉列表中的自定义如何使用。我看到有四个custom,怎样设置,多谢。 关于j2ee服务器定位模式(Service Location pattern) 在网页中怎么样直接运行可执行文件? ORALCE中的首选身份证明的问题 Collections 添加元素,怎样指定添加的位置?我想添加到最开始。 关于字符串长度的问题,我想len("ab你好")=3,而不是等于4,即将虑大小写和数字的问题 listview中怎样根据key ,找到这个listItem 12台计算机要接入宽带,怎么实现?马上散分!!!!! 谁知道英文的"长青树"的英文名称啊如有知道当面道谢 平安常青树怎么样 月全食为什么是红色的啊 常青树的实际叫什么? 什么东西不受地球引力? 月全食为什么是红色的呢? 热吞拿鱼是什么 请哲学家解释下这段话的意义-《道德形而上学基础》在世界各处,甚至在这个世界之外,除了唯一的一种善良的意志,任何认为是善良的东西而不受限制,那是不可想象的..看《贝多芬传》里读 为什么月全食是红色的 常青树怎么样 哲学家对灵魂有哪些理解特别是希腊哲学家 用仪器移动苯原子使其组成中国二字,这是化学变化吗?这和石墨和金刚石的转化相似吗? 请问什么是金枪鱼载体呢? 课文《亲爱的爸爸妈妈》 文章的开头为什么用哲学家萨特的话有何作用?标题又该如何理解. 磁力开关对发动机什么作用 金枪鱼是一种什么鱼? 铁在无水情况下能被氧化吗? 烧开过的水还能再烧热了喝么 三个苹果代表什么意思吗 金枪鱼的营养成分有哪些 对角线相等的四边形的性质?对角线相互垂直的四边形的性质? 光电效应和普朗克常数在物理史的中性啊是重要性 金枪鱼如何冷藏与金枪鱼怎么保鲜? 相邻两边相等的四边形是什么四边形.是针形吧,求他的性质.对角线是否垂直 喜有哪些词语 谁最先发现了电磁现象 磁有哪些作用?具体一点 与“喜”有关的诗句1.表示作者“喜”从“听”来的诗句2.表示作者“喜”从“看”来的诗句3.表示作者“喜”从“想”来的诗句快一点点啦!thanks! 发现电磁感现象的科学家 求几个特殊平面四边形对角线的特殊性质 及连接四边中点所成的图形比如 正方形 对角线 相等 互相垂直 平分 连接四边中点为正方形我还想知道 长方形 等腰梯形 菱形 平行四边形 等等 行星和卫星构成天体系统,叫什么系? 氢氧化铜为什么会分解为氧化铜和水.还有哪些可以分解?是强碱就可以? 磁的作用是什么? 0.5mol硫酸铝与几个co2含有相同数目的氧原子 请医生帮我看看这是什么意思 平形四边形的对角线有什么性质 原子系数大的元素,其相对原子数量大对么 哪位医生知道这是啥意思 宫这个字的两个口是什么意思呢 同一原子中,数目相同的是 好奇怪啊 今天做了检查 医生说我的染色体是YY 什么意思啊求解 五岳指那五座山 常青树有哪些品种 梅毒1:医生让我住院观察?请问用不用住院啊? 怎样让宫口开的快点 第一个字带“喜”的古诗词 金枪鱼的家常做法?金枪鱼可以红烧么?有些菜谱的做法较复杂.有简单点的做饭么! 请问:五岳指的是哪五座山?在哪里? 常青树有哪些 月全食月亮变红为什么是在恢复阶段 图中阴影部分的面积是四边形面积的25%,对吗?最好有证明. 山上常青树有哪些 蓝鳍金枪鱼多少钱 五岳具体指哪五座山?分别在哪里? 常见的常青树有哪些? 月全食时月亮为什么是红色的 月全食为什么是红色的? 硫酸铝中铝和硫的测定实验设计方案……这是个络合滴定实验的设计实验,主要写实验原理和步骤! 月全食的月亮为什么是红色的? 如图,四边形ABFE和四边形CDEF都是长方形,AB的长时4厘米,BC的长时3厘米,那么图中阴影部分的面积是?平方厘米. 美新泽西州商场发生枪击 在场民众描述朴槿惠拒与安倍进行正式会晤 日方表示美白宫提升在社交媒体活跃度 新媒体上美欧制造业逐步恢复景气 出现同步扩张11月电商零售大战 猫狗在前怪兽在后印度民众燃放爆竹庆祝排灯节 引发环境杭州正研究\"城市风道\"欲从钱塘江二手胎从4S店流向修车铺转卖 高性能浙江台州岩头工业区污水畅排椒江 环保非支付宝用户被刷一万块 网络漏洞是黑澳大利亚国会大厦遭数千飞蛾入侵(图)秘鲁汉学家吉叶墨——做当代的“利玛窦媒体称美国将中国日本列为“重点监听国日养老金机构局长携公款藏匿泰国 遭情大众成德国薪酬差距最大公司 高管薪酬英国艺术家用83幅自画像拼成《蒙娜丽一驻日美军士兵酒后驾车与出租车相撞被日本官房副长官:将继续摸索日韩首脑会日警视厅拟加强对骑自行车肇事者处罚力印度民众燃放爆竹庆祝排灯节 引发环境俄罗斯惊现一专杀老年女性杀人狂 两年鑫玺微商(大型公益活动)善行天下 用临沂:座机绑定陌生手机号白交了7年话山东艺术学院舞蹈学院复试考场向媒体开情人节秀恩爱别忘防雾霾-BALMUD烟台街访丨情人秘密大公开,比如内衣s烟台男子坐出租,的哥提出要请客喝酒,魅族215发魅蓝5s:CAO王尼玛Q别把青春浪费在充电上魅族魅蓝5s明天2017年1月至今青岛平均降水较去年来疯直播WOD世界舞蹈大赛排位赛进行东营:鸡蛋库存大,蛋价持续走低,养殖撼情哥情人节蹿红 座驾撼路者也火了《中国味道》 长寿花金胚玉米油为您揭著名古筝教育专家张婧创作百人合奏作品河南:多次交通违法不处理将入“黑名单2017盖茨年度公开信发布 黄晓明受不按点睡觉影响智商《爱乐之城》首日“舞”出7000万元除口臭常用三个秘方空港新城小学开学第一课:学礼知廉 做心跳多少寿命最长
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘