工厂方法模式.ppt

工厂方法模式.ppt

ID:48587476

大小:1.30 MB

页数:24页

时间:2020-01-23

工厂方法模式.ppt_第1页
工厂方法模式.ppt_第2页
工厂方法模式.ppt_第3页
工厂方法模式.ppt_第4页
工厂方法模式.ppt_第5页
资源描述:

《工厂方法模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、工厂方法模式 (FactoryMethod)主讲人:海燕简单工厂模式(SimpleFactory)定义:又称为静态工厂方法(StaticFactoryMethod)模式,它属于类创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。水果农场☞只要说出水果的名字就能得到想到的水果。动机(Motivation):AppleOrangeBananaCreateCreatecreate用简单工厂模式实现计算器UML类图简单工厂类+createOpe

2、rate():运算类运算类+NumberA:double+NumberB:double+GetResult():double除法类+GetResult():double减法类+GetResult():double乘法类+GetResult():double加法类+GetResult():double类第一行:类名称第二行:类的特性(字段或属性)第三行:类的操作(方法或行为)‘+’表示public,‘-’表示private,’#’表示ptotected依赖关系若类名称为斜体字,则此类为抽象类继承关系知识点串讲属性为了更好地访问”类”中的成

3、员变量。C#提供了属性。所谓“更好”指的是更加安全、清楚等。保护好私有变量的隐蔽性等。私有变量不能被外界访问表示外界可以给内部的name赋值表示外界调用时可以得到name的值继承和多态::virtualoverride继承从语义上讲就是Is-a关系例如:“猫”类继承了“动物”类,语义上的意思就是,猫是一种动物猫就是子类,动物就是父类猫为派生类,动物为基类虚拟的,表示此方法是虚方法,可以被子类重写成员变量成员方法继承,表示Dog类继承了Animal类非Private的所有特征方法重写,表示覆盖父类中相应的成员方法工厂方法模式(Factor

4、yMethod)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。___《设计模式》GoF定义:工厂方法模式又称为工厂模式,也叫虚拟构造器(VirtualConstructor)模式或者多态工厂(PolymorphicFactory)模式,它属于对象创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生产具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。工厂方法模式(FactoryMeth

5、od)结构图ProductCreator+FactoryMethod()ConcreteProductConcreteCreator+FactoryMethod()声明工厂方法,该方法返回一个Product类型的对象定义工厂方法所创建的对象的借口具体的产品,实现了Product借口重定义工厂方法以返回一个ConcreteProduct实例接口:看似是:声明了一个类,而且类的成员都具有“行为”注意:1.接口用interface声明,不用class2.接口名称前要加‘I’3.没有成员变量4.成员方法前面不能有修饰符5.方法没有方法体错误的例

6、子:工厂方法模式UML类图工厂类+CreatOperation():运算类乘法工厂减法类+GetResult():double加法工厂减法工厂运算类+NumberA:double+NumberB:double+GetResult():double加法类+GetResult():double乘法类+GetResult():double除法类+GetResult():double除法工厂简单工厂模式UML类图简单工厂类+createOperate():运算类运算类+NumberA:double+NumberB:double+GetResul

7、t():double除法类+GetResult():double减法类+GetResult():double乘法类+GetResult():double加法类+GetResult():double简单工厂模式UML类图简单工厂类+createOperate():运算类运算类+NumberA:double+NumberB:double+GetResult():double除法类+GetResult():double减法类+GetResult():double乘法类+GetResult():double加法类+GetResult():dou

8、ble工厂方法模式UML类图工厂类+CreatOperation():运算类乘法工厂减法类+GetResult():double加法工厂减法工厂运算类+NumberA:double+NumberB:doub

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。