程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求: 1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)
<2>从Mouse和Master中提取抽象(5分)
<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)
public interface Observer
{
void Response(); //观察者的响应,如是老鼠见到猫的反映
}
public interface Subject
{
void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject subj)
{
this.name = name;
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine(name + " attempt to escape!");
}
}
public class Master : Observer
{
public Master(Subject subj)
{
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine("Host waken!");
}
}
public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine("Cat cryed!");
foreach (Observer obs in this.observers)
{
obs.Response();
}
}
}
class MainClass
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse2", cat);
Master master = new Master(cat);
cat.Cry();
}
}
//------------------------------------------------------
分享到:
相关推荐
在这个例子中,我们将深入探讨工厂模式的应用及其与面向接口编程的关系。 首先,工厂模式有三种主要的形式:简单工厂模式、工厂方法模式和抽象工厂模式。简单工厂模式中,有一个中心工厂类负责创建所有实例;工厂...
面向接口编程是一种重要的软件设计原则,它强调程序的组件应通过接口进行交互,而不是直接依赖于具体的实现。这种编程范式有助于提高代码的灵活性、可维护性和可测试性。下面我们将详细探讨面向接口编程的思想基础、...
面向接口编程是软件设计中的一个重要概念,尤其是在Java和Android开发中。它是一种编程范式,强调程序应通过其公开的接口与其消费者进行交互,而不是直接依赖于其实现细节。这样的设计提高了代码的可扩展性、可维护...
面向接口编程是一种重要的软件设计原则,它强调程序应依赖...通过学习和实践这些例子,你可以更好地理解面向接口编程的精髓,提升自己的编程技能。在实际项目中应用这些原则,可以使代码结构更加清晰,易于理解和扩展。
在这个“面向对象编程例子1”中,我们可以推测作者可能创建了一些类,比如一个基类(可能是抽象类或接口),然后定义了几个继承自该基类的子类。每个子类可能具有自己的特性和行为,展示了多态性的概念。同时,通过...
在文章中,作者使用了一个建筑工程师的例子来解释面向接口编程的思想。建筑工程师首先需要进行整体项目的构思,结果就是一份很完美的建筑图纸。这个图纸就是一个大的接口,规定了建筑工程师需要遵守的硬性条件。然后...
面向接口编程是Spring推崇的设计原则之一,它强调将实现细节隐藏在接口背后,从而降低了模块间的耦合。通过定义接口,客户端代码只需要与接口交互,而不直接依赖具体实现。这样,当需要更换实现时,只需修改配置,而...
在 Mybatis 中,面向接口编程是一种重要的设计模式,它旨在提高代码的可读性和可维护性。下面我们将详细探讨 Mybatis 面向接口编程的核心概念及其在实际应用中的作用。 首先,我们来看一下 Mybatis 面向接口编程的...
Java面向接口编程之简单工厂模式示例 本文档主要介绍了Java面向接口编程之简单工厂模式的概念和实现,以及如何使用简单工厂模式来实现不同的打印机功能。下面是对标题、描述、标签和部分内容的分析和知识点总结: ...
### 面向接口编程与Java接口、抽象类的选择 #### 一、接口与抽象类的概念 在面向对象编程中,接口(Interface)与抽象类(Abstract Class)都是用来实现多态性的工具,它们允许开发者定义行为规范而不指定具体实现...
面向接口编程的核心思想是,我们在编写代码时,关注的是对象能够做什么(即接口),而不是它具体是如何做的(即实现)。这样,我们可以将实现细节与接口分离,使得系统更容易进行模块化设计。当需要改变或添加功能时...
面向接口编程则是另一种核心原则,它提倡设计时定义抽象接口,而具体的实现则由依赖的类提供。这两者在Spring Boot中的结合,使得应用程序更加灵活和可扩展。 控制反转在Spring框架中主要通过依赖注入(Dependency ...
MATLAB面向对象编程的实现和例子中,我们可以创建如下的类和对象: 1. 创建一个“Sensor”类,它包含传感器的基本属性和方法,如位置信息、采样率等。 2. 通过创建“SensorArray”类,它由多个“Sensor”对象构成,...
本例中,"Mybatis3和Spring4基于接口编程例子源代码"是一个实践项目,展示了如何将这两个框架集成并利用接口进行数据访问。下面将详细解释相关的知识点: 1. **MyBatis3的核心概念**: - **SqlSessionFactory**:...
在Java编程中,接口(Interface)是一种非常重要的概念,它为多态性提供了基础,促进了模块间的解耦,使得代码更加灵活和易于扩展。...这种实践对于提升编程技能,尤其是理解面向接口编程的重要性,是非常有价值的。
《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...
在这个“面向接口的反射例子”中,我们将深入探讨ASP.NET中的两个关键概念:面向接口编程和反射。 首先,面向接口编程(Interface-Oriented Programming, IOP)是面向对象编程的一种策略,它强调设计和实现时以接口...
### Labview面向对象编程快速入门知识点详解 #### 一、类和对象的基本概念 在面向对象编程中,**类**是一种定义通用特性的抽象模型,它描述了一组具有相同属性和行为的对象。例如,在本例中提到的“汽车”类就定义...
总的来说,面向接口编程是面向对象设计的重要原则之一,它强调了代码对行为的依赖而不是实现。通过接口,我们可以定义清晰的契约,降低类之间的耦合度,使得系统更易于维护和升级。在实际编程中,应充分利用接口的...