`

面向接口编程 例子

阅读更多

程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(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();
        }
    }



//------------------------------------------------------

分享到:
评论

相关推荐

    工厂模式与面向接口编程例子

    在这个例子中,我们将深入探讨工厂模式的应用及其与面向接口编程的关系。 首先,工厂模式有三种主要的形式:简单工厂模式、工厂方法模式和抽象工厂模式。简单工厂模式中,有一个中心工厂类负责创建所有实例;工厂...

    面向接口编程详解

    面向接口编程是一种重要的软件设计原则,它强调程序的组件应通过接口进行交互,而不是直接依赖于具体的实现。这种编程范式有助于提高代码的灵活性、可维护性和可测试性。下面我们将详细探讨面向接口编程的思想基础、...

    面向接口编程理解demo

    面向接口编程是软件设计中的一个重要概念,尤其是在Java和Android开发中。它是一种编程范式,强调程序应通过其公开的接口与其消费者进行交互,而不是直接依赖于其实现细节。这样的设计提高了代码的可扩展性、可维护...

    面向接口编程小例子练习程序

    面向接口编程是一种重要的软件设计原则,它强调程序应依赖...通过学习和实践这些例子,你可以更好地理解面向接口编程的精髓,提升自己的编程技能。在实际项目中应用这些原则,可以使代码结构更加清晰,易于理解和扩展。

    面向对象编程例子1

    在这个“面向对象编程例子1”中,我们可以推测作者可能创建了一些类,比如一个基类(可能是抽象类或接口),然后定义了几个继承自该基类的子类。每个子类可能具有自己的特性和行为,展示了多态性的概念。同时,通过...

    欧柏泰克:.NET简谈面向接口编程

    在文章中,作者使用了一个建筑工程师的例子来解释面向接口编程的思想。建筑工程师首先需要进行整体项目的构思,结果就是一份很完美的建筑图纸。这个图纸就是一个大的接口,规定了建筑工程师需要遵守的硬性条件。然后...

    IoC容器用户注册的例子面向接口编程

    面向接口编程是Spring推崇的设计原则之一,它强调将实现细节隐藏在接口背后,从而降低了模块间的耦合。通过定义接口,客户端代码只需要与接口交互,而不直接依赖具体实现。这样,当需要更换实现时,只需修改配置,而...

    Mybatis面向接口编程1

    在 Mybatis 中,面向接口编程是一种重要的设计模式,它旨在提高代码的可读性和可维护性。下面我们将详细探讨 Mybatis 面向接口编程的核心概念及其在实际应用中的作用。 首先,我们来看一下 Mybatis 面向接口编程的...

    Java面向接口编程之简单工厂模式示例

    Java面向接口编程之简单工厂模式示例 本文档主要介绍了Java面向接口编程之简单工厂模式的概念和实现,以及如何使用简单工厂模式来实现不同的打印机功能。下面是对标题、描述、标签和部分内容的分析和知识点总结: ...

    【每日一步】面向接口编程选择java接口还是抽象类.doc

    ### 面向接口编程与Java接口、抽象类的选择 #### 一、接口与抽象类的概念 在面向对象编程中,接口(Interface)与抽象类(Abstract Class)都是用来实现多态性的工具,它们允许开发者定义行为规范而不指定具体实现...

    面向接口的编程

    面向接口编程的核心思想是,我们在编写代码时,关注的是对象能够做什么(即接口),而不是它具体是如何做的(即实现)。这样,我们可以将实现细节与接口分离,使得系统更容易进行模块化设计。当需要改变或添加功能时...

    springboot通过面向接口编程对控制反转IOC的理解.docx

    面向接口编程则是另一种核心原则,它提倡设计时定义抽象接口,而具体的实现则由依赖的类提供。这两者在Spring Boot中的结合,使得应用程序更加灵活和可扩展。 控制反转在Spring框架中主要通过依赖注入(Dependency ...

    matlab面向对象编程.pdf

    MATLAB面向对象编程的实现和例子中,我们可以创建如下的类和对象: 1. 创建一个“Sensor”类,它包含传感器的基本属性和方法,如位置信息、采样率等。 2. 通过创建“SensorArray”类,它由多个“Sensor”对象构成,...

    Mybatis3和Spring4基于接口编程例子源代码

    本例中,"Mybatis3和Spring4基于接口编程例子源代码"是一个实践项目,展示了如何将这两个框架集成并利用接口进行数据访问。下面将详细解释相关的知识点: 1. **MyBatis3的核心概念**: - **SqlSessionFactory**:...

    针对接口编程 java示例

    在Java编程中,接口(Interface)是一种非常重要的概念,它为多态性提供了基础,促进了模块间的解耦,使得代码更加灵活和易于扩展。...这种实践对于提升编程技能,尤其是理解面向接口编程的重要性,是非常有价值的。

    c++面向对象编程实例大全

    《C++面向对象编程实例大全》是一本专为初级学习者设计的教程,旨在通过丰富的实例深入浅出地讲解C++的面向对象编程概念。面向对象编程(Object-Oriented Programming,简称OOP)是C++的核心特性,也是现代软件开发...

    ASP的一个面向接口的反射例子

    在这个“面向接口的反射例子”中,我们将深入探讨ASP.NET中的两个关键概念:面向接口编程和反射。 首先,面向接口编程(Interface-Oriented Programming, IOP)是面向对象编程的一种策略,它强调设计和实现时以接口...

    Labview面向对象编程快速入门.pdf

    ### Labview面向对象编程快速入门知识点详解 #### 一、类和对象的基本概念 在面向对象编程中,**类**是一种定义通用特性的抽象模型,它描述了一组具有相同属性和行为的对象。例如,在本例中提到的“汽车”类就定义...

    ch面向对象编程面向接口实用PPT学习教案.pptx

    总的来说,面向接口编程是面向对象设计的重要原则之一,它强调了代码对行为的依赖而不是实现。通过接口,我们可以定义清晰的契约,降低类之间的耦合度,使得系统更易于维护和升级。在实际编程中,应充分利用接口的...

Global site tag (gtag.js) - Google Analytics