文档库

最新最全的文档下载
当前位置:文档库 > 开闭原则与里氏代换原则实验 UML图及编程实现 C#

开闭原则与里氏代换原则实验 UML图及编程实现 C#

实验 2 开闭原则与里氏代换原则综合训练

一、实验目的 :加深对开闭原则与里氏代换原则的理解

二、实验环境 :C#.Net

三、实验内容:

1、 问题 (一 )“ 长方形和正方形 “思辨题:最早来自于 C++和 Smalltalk 领域。

正方形是否是长方形的子类的问题,西方一个很著名的思辨题。

试写一个求面积与周长的解决方案,要求画 UML 图并编程实现,并体现出开闭原则与 里氏代换原则。

提示:

长方形类:两个属性,宽度和高度;

正方形类:一个属性,边。

1、 UML 类图如下 :

开闭原则与里氏代换原则实验  UML图及编程实现 C#

2、运用的设计原则 :

开闭原则:一个软件实体应当对扩展开放,对修改关闭。定义一个抽象类 Stringle 类,抽象 类中有求面积和周长的函数, 当想再次扩展求圆、 菱形等的面积, 继承抽象类, 实现其功能, 很方便就对其进行扩展。

里氏代换原则:所有引用基类(父类)的地方必须能透明地使用其子类的对象。 Stringle 类 为基类, Square 类和 Rectangular 为其子类,在引用基类的地方就能使用子类实现,代码如 下。

免费下载Word文档免费下载: 开闭原则与里氏代换原则实验 UML图及编程实现 C#

(共10页)

里氏替换原则

程序将不会产生任何错误异常,反过来 则不成立,...里氏替换原则的定义 3、里氏代换原则实现开闭原则...图1原始结构图 在对系统进行进一步分析后发现,无论...

设计模式-复习题

即针对接口编程,不要针对实现编程,是( d )的表述...开-闭原则 B.接口隔离原则 C.里氏代换原则 D....江西理工大学UML与设计模... 6页 1下载券 面向对象...

敏捷软件开发第五讲-开闭原则与里氏替换原则

敏捷软件开发第五讲-开闭原则与里氏替换原则_计算机软件及应用_IT/计算机_专业资料。敏捷软件开发第五讲,开闭原则与里氏替换原则。OOD第...

c++设计原则

类的设计原则有七个,包括:开闭原则里氏代换原则...抽象与实现的分离(面向接口的程序设计)等,可以尽量接近...Holland 提出,被 UML 的 创始者之一 Booch 等普及...

开闭原则

“开-原则与其他原则的关系: 里氏代换原则是,任何基类可以出现的地方,子类一定可以出现。 里氏代换原则是对“开-”原则的补充。实现“开-”原则的关键...

03.设计模式六大原则

? ? ? ? ? 开-闭原则 单一职责原则 接口隔离原则 里氏代换原则 依赖倒转...(1)目的:在一个应用程序中,我们有一些实现了基础的、主要的操作的底层类...

面向对象设计原则

面向对象七大设计原则 1、 开闭原则 2、 里氏替换...在 C#和 Java 中只有单继承。 这个原则不是告诉...UML(教学课件) 55页 5下载券 §8_包图、组件...

UML设计原则(适合初学者)

U​M​L​设​计​原​则​介​绍​.​带​图​分​...如: 里氏转换原则是对开闭原则的补充,违反里氏原则就是违 反开闭原则.并且是...

02 C#设计模式-面向对象设计原则

新增图形,无须针对具体图形类编程,符合开闭 原则。...(注:用 C#或 C++实现类似功能也可以) 7. 现有...里氏代换原则,客户端通过抽象工厂类编程,运行时读取...