当前位置: 首页 > news >正文

海南网站建设哪家不错免费发布信息

海南网站建设哪家不错,免费发布信息,网页制作基础考什么,优惠券网站是不是很难做设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#) 开闭原则。

 

开闭原则(Open Closed Principle)

开闭原则(Open-Closed Principle,OCP)是指一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。如当一个模块需要修改的时,不应该直接修改源代码,这样有可能对现有的工作造成影响。应该通过拓展来实现新需求。

例如,

1)一般的反面设计实现

using System;
namespace ConsoleApplication
{/// <summary>/// 矩形(Shape.cs)/// </summary>public class Shape{private double _width;private double _height;private double _radius;private string _name;public Shape(string name, double width, double height){this._width = width;this._height = height;_name = name;}public double AreaRectangle(){return _width * _height;}public void DisplayRectangle(){Console.WriteLine("{0} 长:{1},宽:{2},面积:{3}", _name, _width, _height, this.AreaRectangle());}public Shape(string name, double radius){this._radius = radius;this._name = name;}public double AreaCircle(){return Math.Round(Math.PI * _radius * _radius);}public void DisplayCircle(){Console.WriteLine("{0} 半径:{1},面积:{2}", _name, _radius, this.AreaCircle());}}class Program{static void Main(string[] args){Shape circle = new Shape("圆", 1);circle.DisplayCircle();Shape rectangle = new Shape("正方形", 100, 100);rectangle.DisplayRectangle();Console.ReadKey();}}
}

 2)开闭原则的实现

using System;
namespace ConsoleApplication
{//Shape.cspublic abstract class Shape{protected string _name;public Shape(string name){this._name = name;}/// <summary>/// 面积/// </summary>/// <returns></returns>public abstract double Area();/// <summary>/// 显示/// </summary>public abstract void Display();}/// <summary>/// 矩形(Rectangle.cs)/// </summary>public class Rectangle : Shape{private double _width;private double _height;public Rectangle(string name, double width, double height): base(name){this._width = width;this._height = height;}public override double Area(){return _width * _height;}public override void Display(){Console.WriteLine("{0} 长:{1},宽:{2},面积:{3}", _name, _width, _height, this.Area());}}/// <summary>/// 圆形(Circle.cs)/// </summary>public class Circle : Shape{private double _radius;public Circle(string name, double radius): base(name){this._radius = radius;}public override double Area(){return Math.Round(Math.PI * _radius * _radius);}public override void Display(){Console.WriteLine("{0} 半径:{1},面积:{2}", _name, _radius, this.Area());}}class Program{static void Main(string[] args){   Shape circle = new Circle("圆", 1);circle.Display();Shape rectangle = new Rectangle("正方形", 100, 100);rectangle.Display();Console.ReadKey();}}
}

 

http://www.dinnco.com/news/35220.html

相关文章:

  • 做非法集资资讯的网站西安网站建设公司十强
  • 广州营销型网站建设公司哪家靠谱百度收录查询方法
  • 网站建设标语辅导机构
  • 网站中的搜索框怎么做网站seo优化案例
  • 安监网站如何做紧急预案备案推广方案框架
  • 慈溪网站建设哪家好免费网页制作成品
  • 网站如何制作 优帮云会计培训机构排名前十
  • 云空间布置网站百度推广一天烧几千
  • 凡科做网站有什么用广州疫情最新动态
  • 如何搜名字搜到自己做的网站如何在百度上建立网站
  • 无锡网站建设选众鼎色盲
  • php网上商城系统seo信息优化
  • 电子商务网站开发平台如何免费注册网站平台
  • Wordpress漂亮免费主题seo算法是什么
  • 北京工作室网站建设百度seo关键词优化工具
  • 中国网站名二级域名网站查询入口
  • 建设的网站属于固定资产么百度公司招聘
  • 网站空间在哪里设计网站接单
  • 大同建设网站百度一下百度搜索网站
  • 网络游戏排行榜前十手游长沙网站seo排名
  • 有什么网站可以做海报软文投稿平台有哪些
  • 城市建设与管理局网站著名的营销成功的案例
  • 专业做农牧应聘的网站网络营销推广的概念
  • 给老外做兼职的网站电脑优化大师有用吗
  • 项目策划书模板上海快速排名优化
  • 全屏 单页网站网络营销的特征
  • 普陀网站建设哪家好怎样淘宝seo排名优化
  • 做投诉网站赚钱吗一键生成个人网站
  • 建设黄页大全网站入口关键词工具
  • 外链网盘网站公司广告推广方案