首页 工厂方法模式和简单工厂模式

工厂方法模式和简单工厂模式

举报
开通vip

工厂方法模式和简单工厂模式 课程设计报告 设计题目:简单设计模式及应用 学    院:计算机科学与信息学院 专    业:    软 件 工 程    班    级:                    学    号:                    学生姓名:                    指导教师:                    年 月 日 一、实训目的及要求 l  什么是设计模式 l 了解抽象工厂设计模式 l 应用简单工厂模式和工厂设计模式 二、实训环境 windows7操作系统,配置Vc#2010运...

工厂方法模式和简单工厂模式
课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 报告 设计题目:简单设计模式及应用 学    院:计算机科学与信息学院 专    业:    软 件 工 程    班    级:                    学    号:                    学生姓名:                    指导教师:                    年 月 日 一、实训目的及要求 l  什么是设计模式 l 了解抽象工厂设计模式 l 应用简单工厂模式和工厂设计模式 二、实训环境 windows7操作系统,配置Vc#2010运行环境,安装SQL Server2010数据库管理系统 三、实训内容 不同的图形具有不同的计算面积和周长的方法,通过选择图行类别获得不同图形面积和周长的计算方法,从而得到图形的面积。用简单工厂模式和工厂方法模式分别编写程序计算不同图形的面积和周长 四、算法描述及实训步骤 A简单工厂模式 1算法描述 定义一个图形基类shaped,从Shaped派生出具体图形类Circle、Rectangular、Triangle、Square。定义一个产生图形工厂ShapeFactory UML图如下所示 Shaped //图形工厂 #Color :string +GetArea():double +GetPerimeter():double   <> ShapeFactory +CreateShape():Shaped   Rectangular -Lenth:double -Width:double +Rectangular(string Color, double Lenth,double Width) +GetArea():double +GetPerimeter():double   Triangle -Ed1:double -Ed2:double -Ed3:double +Triangle(stringColor,double Ed1, double Ed2, double Ed3) +GetArea():double +GetPerimeter():double   Square -Ed0:double +Square(string Color, double Ed0) +GetArea():double +GetPerimeter():double   Circle -Radius:double +Circle(string Color,double Radius) +GetArea():double +GetPerimeter():double   2.实训步骤                                (1)创建一个控制台应用程序,名为GetShaped。 (2)添加一个基类shaped,代码如下 public abstract class Shaped { protected  string Color; public Shaped() { ;} public Shaped(string Color) { this.Color = Color; } public string GetColor() { return Color; } public abstract double GetArea(); public abstract double Getperimeter(); } (3)添加一个派生类Circle如下: public class Circle : Shaped { private double Radius; public Circle(string Color, double Radius) { this.Color = Color; this.Radius = Radius; } public override double GetArea() { return System.Math.PI * Radius * Radius; } public override double Getperimeter() { return 2.0 * System.Math.PI * Radius; } } (4)添加一个派生类Rectangular如下: public class Rectangular : Shaped { private double Length, Width; public Rectangular(string Color, double Length, double Width) { this.Color = Color; this.Length = Length; this.Width = Width; } public override double GetArea() { return Length * Width; } public override double Getperimeter() { return 2.0 * Length + 2.0 * Width; } } (5)添加一个派生类Triangle如下: public class Triangle : Shaped { private double Ed1, Ed2, Ed3; public Triangle(string Color, double Ed1, double Ed2, double Ed3) { this.Color = Color; this.Ed1 = Ed1; this.Ed2 = Ed2; this.Ed3 = Ed3; } public override double GetArea() { double p = (Ed1 + Ed2 + Ed3) / 2; return System.Math.Sqrt(p * (p - Ed1) * (p - Ed2) * (p - Ed3)); } public override double Getperimeter() { return Ed1 + Ed2 + Ed3; } } (6)添加一个派生类Square如下: public class Square : Shaped { private double Ed0; public Square(string Color, double Ed0) { this.Color = Color; this.Ed0 = Ed0; } public override double GetArea() { return Ed0 * Ed0; } public override double Getperimeter()
本文档为【工厂方法模式和简单工厂模式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:47KB
软件:Word
页数:0
分类:互联网
上传时间:2019-04-16
浏览量:1