首页 > 其他分享 >软件设计Tutorial08

软件设计Tutorial08

时间:2024-11-04 08:58:13浏览次数:3  
标签:Tutorial08 软件设计 void move class shout public

 

 实验8:适配器模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解适配器模式的动机,掌握该模式的结构;

2、能够利用适配器模式解决实际问题。 

[实验任务一]:双向适配器

实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。

实验要求:

1.  画出对应的类图;

 

```mermaid
classDiagram
    class Animals {
        <<interface>>
        +shout()
        +move()
    }

    class Cat {
        +catches()
    }

    class Dog {
        +wang()
    }

    class CatAdapter {
        +shout()
        +move()
    }

    class DogAdapter {
        +shout()
        +move()
    }

    Animals <|.. CatAdapter
    Animals <|.. DogAdapter
    Cat <|-- CatAdapter
    Dog <|-- DogAdapter
```

 

2.  提交源代码;

                     
 

package Tutorial08;

public interface Animals {
    public void shout();
    public void move();
}

 
 
   

package Tutorial08;

public class Cat {
    public void catches(){
        System.out.println("抓老鼠");
    }
}

 

 
 
   

package Tutorial08;

public class Dog {
    public void wang(){
        System.out.println("汪汪叫");
    }
}

 
 
   

package Tutorial08;

public class CatAdapter extends Cat implements Animals{
    @Override
    public void shout() {

    }

    @Override
    public void move() {
        System.out.print("狗砸:");
        super.catches();
    }
}

 

 
 
   

package Tutorial08;

public class DogAdapter extends Dog implements Animals{
    @Override
    public void shout() {
        System.out.print("哈吉咪:");
        super.wang();
    }

    @Override
    public void move() {
    }
}

 

 
 
   

package Tutorial08;

import com.sun.xml.internal.ws.util.xml.XmlUtil;

public class Main {
    public static void main(String[] args) {

        DogAdapter dogAdapter = new DogAdapter();
        CatAdapter catAdapter = new CatAdapter();
        dogAdapter.shout();
        System.out.println("--------------------");
        catAdapter.move();;
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3.注意编程规范。

标签:Tutorial08,软件设计,void,move,class,shout,public
From: https://www.cnblogs.com/muzhaodi/p/18524395

相关文章

  • 学习高校课程-软件设计模式-责任链模式和命令模式(lec9)
    原文链接ChainofResponsibility:ProblemExample:anonlineorderingsystem示例:在线订购系统–Therequestmustpassaseriesofchecks–Newrequirements:validation,filteringrepeatedfailedrequests,speedingupbyreturningcachedresults,andmore–......
  • 学习高校课程-软件设计模式-享元模式和代理模式(lec8)
    原文链接Flyweight:ProblemEachparticle,suchasabullet,amissileorapieceofshrapnelwasrepresentedbyaseparateobjectcontainingplentyofdata.Atsomepoint,whenthecarnageonaplayer’sscreenreacheditsclimax,newlycreatedparticlesno......
  • 学习高校课程-软件设计模式-组合模式、装饰器模式和外观模式(lec7)
    原文链接Composite:ProblemUsingtheCompositepatternmakessenseonlywhenthecoremodelofyourappcanberepresentedasatree.仅当应用程序的核心模型可以表示为树时,使用复合模式才有意义。Forexample,imaginethatyouhavetwotypesofobjects:Products......
  • 软件设计--实验七
    实验7:单例模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。 [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 类图:```mermaidclassDiagram......
  • 软件设计--建造者模式
    建造者模式建造者模式是一种创建型设计模式,它允许你创建复杂对象的步骤与表示方式相分离。建造者模式是一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程与其表示相分离,从而可以创建具有不同表示形式的对象。概要意图将一个复杂的构建过程与其表示相分离,使得同样的......
  • 软件设计--抽象工厂模式
    就我的理解来说,抽象工厂模式就是,创建接口和抽象类,把分类逐渐总到一起~使用抽象工厂模式,完成上述产品等级结构:先对性别进行分类:packageTutorial04;publicinterfacePerson{publicStringIs();}packageTutorial04;publicclassManimplementsPerson{@......
  • 软件设计师:软件工程
    文章目录一、开发模型(1)瀑布模型(需求明确)(2)增量模型(快速构建)(3)演化模型(迭代模型)(3.1)原型模型(需求模糊规模小)(3.2)螺旋模型(风险分析规模大)(4)喷泉模型(面向对象)(5)统一过程(UP)模型(6)敏捷开发二、开发过程(1)需求分析(2)概要设计(3)详细设计三、测试(1)系统测试(2)单元测试(3)集成测试(4)测试方法......
  • 【软考中级笔记】软件设计师易混知识点归纳
    一、计算机系统1.1计算机硬件1.2计算机软件1.软件可靠性、可维护性、可用性计算软件可靠性指标公式可靠性:MTTF/(1+MTTF)可用性:MTBF/(1+MTBF)可维护性:1/(1+MTTR)MTTF(MeanTimeToFailure)平均无故障时间MTTF=∑T1/NMTTR(Meantimetorepair)平均修复时间MTTR=∑(T......
  • 2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(上)(分值10+)
    目录前言第7章面向对象技术(上)7.1面向对象基础(3-4分)7.1.1面向对象的基本概念7.1.2面向对象分析(熟记)7.1.3面向对象设计7.1.4面向对象程序设计7.1.5面向对象测试7.2UML(3~4分)7.2.1事务7.2.2关系7.2.2.1多重度7.2.3UML中的的图结语前言在备考软件设......
  • 学习高校课程-软件设计模式-单例模式(lec5)
    原文链接Singleton:IntentSingletonisacreationaldesignpatternthatletsyouensurethataclasshasonlyoneinstance,whileprovidingaglobalaccesspointtothisinstance.Singleton是一种创建性设计模式,它允许您确保一个类只有一个实例,同时提供对此实例的......