下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页设计模式之工厂方法FACTORYMETHOD(二)设计模式之工厂方法FACTORYMETHOD(二)
发表于:2023-05-26来源::点击数:标签:
派生类为这个选拔基类(Seeding)分别建立一个实例来调用这些方法。我们现在建立这两个具体的选拔子类:StraightSeeding类CircleSeeding类。PrelimEvent类将返回CircleSeeding类的实例,TimedFinalEvent类则返回StraightSeeding类实例。通过整个事件层次,
派生类为这个选拔基类(Seeding)分别建立一个实例来调用这些方法。我们现在建立这两个具体的选拔子类:StraightSeeding类CircleSeeding类。PrelimEvent类将返回CircleSeeding类的实例,TimedFinalEvent类则返回StraightSeeding类实例。
通过整个事件层次,可以看到PrelimEvent类、TimedFinalEvent类都包含getSeeding方法,PrelimEvent类将返回CircleSeeding类的实例,TimedFinalEvent类则返回StraightSeeding类实例。在这个简单的例子当中我们并没有指出真正的工厂(Factory),然而,实例化哪一个Event类决定了哪一个Seeding类将被实例化。
虽然它看起来像是在两个类之间存在一对一相应的通信。但,这不是必需的。可以有许多不同类型的Events类但他们只使用少一部分Seeding类。
Swimmer类
Swimmer类包含一些游泳运动员的具体信息和在选拔之后修改运动员的组以及泳道的方法。Event类在数据库(在这个例子中为文本文件)读取运动员信息。当调用Event类的getSeeding方法时将这个运动员的集合传递到Seeding类。
Events类
我们已经定义了一个抽象基类,在实际的应用当中,我们只是使用它来读取游泳运动员的数据信息(在这个例子中为文本文件)。
Prelimevent类返回CircleSeeding实例
PublicClassPrelimevent
InheritsEvents
DimsdAsSeeding
PublicOverridesFunctiongetSeeding()AsSeeding
ReturnNewCircleSeeding(swmmers,numLanes)
EndFunction
PublicOverridesFunctionisFinal()AsBoolean
isFinal=False
EndFunction
PublicOverridesFunctionisPrelim()AsBoolean
isPrelim=True
EndFunction
PublicOverridesFunctionisTimedFinal()AsBoolean
isTimedFinal=False
EndFunction
PublicSubNew(ByValFilenameAsString,ByVallanesAsInteger)
MyBase.New(Filename,lanes)
numLanes=lanes
EndSub
EndClass
TimedFinalEvent类返回StraightSeeding实例
publicClassTimedFinalEvent
InheritsEvents
PublicSubNew(ByValFilenameAsString,ByVallanesAsInteger)
MyBase.New(Filename,lanes)
EndSub
'
PublicOverridesFunctiongetSeeding()AsSeeding
DimsdAsSeeding
'createseedingandexecuteit
sd=NewStraightSeeding(swmmers,numLanes)
sd.seed()
getSeeding=sd
EndFunction
'
PublicOverridesFunctionisFinal()AsBoolean
isFinal=False
EndFunction
'
PublicOverridesFunctionisPrelim()AsBoolean
isPrelim=False
EndFunction
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年智能家居与环保材料装修房屋转让合同3篇
- 二零二五年度精密仪器中英双语采购服务协议2篇
- 二零二五年搬家物流合同标准文本2篇
- 2024版铜门合同范本
- 办公楼节能照明系统的设计与优化
- 小学中年级语文阅读教学策略的探索与展望
- 工业互联网平台在能源领域的智能管理
- 德业教育与心理健康教育相结合的实践案例分享
- 二零二五年度风力发电工程施工专业分包合同6.14版2篇
- 教育与自我发展的结合路径研究
- 电除颤教学课件
- 竣工之风量平衡测试报告air distribution balance report
- 贝利婴幼儿发展量表(BSID)
- 说明书hid500系列变频调速器使用说明书s1.1(1)
- 横版荣誉证书模板可修改打印 (9)
- 建设银行股份关联交易申报及信息披露系统操作手册新一代
- 建筑工程施工劳务清包工合同
- 成都市国土资源局关于加强国有建设用地土地用途变更和
- 试析运城市水资源可持续利用分析
- 建筑物防雷工程施工与质量验收规范
- 精品资料(2021-2022年收藏)计算机组成原理与汇编语言程序设计》一体化教学设计方案
评论
0/150
提交评论