首页 > 其他分享 >11.9

11.9

时间:2024-11-09 23:10:48浏览次数:1  
标签:ComplexPhone 11.9 phone void System Phone public

软件设计                  石家庄铁道大学信息学院

 

实验11:装饰模式

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

1、理解装饰模式的动机,掌握该模式的结构;

2、能够利用装饰模式解决实际问题。

 

[实验任务一]:手机功能的升级

用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。

实验要求:

1. 提交类图;

 

2.提交源代码;

 public class Changer implements Phone{

 

    private Phone phone;

    public Changer(Phone p) {

        this.phone=p;

    }

    public void voice() {

        phone.voice();

    }

}

 

public class ComplexPhone extends Changer{

 

    public ComplexPhone(Phone p) {

        super(p);

        System.out.println("ComplexPhone");

    }

 

    public void zhendong() {

        System.out.println("会震动!");

    }

    public void dengguang() {

        System.out.println("会发光!");

    }

 

}

 

 

public class JarPhone extends Changer{

 

    public JarPhone(Phone p) {

        super(p);

        System.out.println("Jarphone");

    }

 

    public void zhendong() {

        System.out.println("会震动!");

    }

}

 

public interface Phone {

    public void voice();

}

 

public class SimplePhone implements Phone{

 

     public void voice() {

            System.out.println("发出声音!");

        }

 

}

 

public class Client {

    public static void main(String[] args) {

        Phone phone;

        phone=new SimplePhone();

        phone.voice();

        JarPhone jarphone=new JarPhone(phone);

        jarphone.voice();

        jarphone.zhendong();

        ComplexPhone complexphone = new ComplexPhone(phone);

        complexphone.zhendong();

        complexphone.dengguang();

    }

}

3.注意编程规范。

 

 

标签:ComplexPhone,11.9,phone,void,System,Phone,public
From: https://www.cnblogs.com/galileo9527/p/18537445

相关文章

  • 2024.11.9组队训练题解记录
    Teleportation鲍勃最近访问了一个奇怪的传送系统。该系统包含\(n\)个房间,编号为\(0\)到\(n-1\)。每个房间都安装了一个传送设备。每个传送设备都有一个看起来像钟表表面的仪表板,上面有一个指针,显示数字\(0\)到\(n-1\),按顺时针顺序排列。最初,第\(i\)个房间的传送设备上......
  • 11.9 javaweb学习 day2 基础标签&样式
    网页响应流程浏览器前端服务器后端服务器数据库1.浏览器请求前端2.前端响应浏览器3.浏览器请求后端4.后端请求数据库5.数据库响应后端6.后端响应浏览器网页的组成1.网页的文字,图片,音频,视频,超链接什么的,本质是前端代码2.前端代码通过浏览器的转化......
  • 11.9
    [实验任务一]:女娲造人使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。实验要求:画出对应的类图;提交源代码;packageuml;//Person接口in......
  • 2024.11.4~2024.11.9
    2024.11.4今天早上没有醒来,一抬表发现7:03了直接破防(悲上午模拟赛T1直接一个没思路,想了1h都没想出来,打了10分遗憾离场,T2直接就是死磕1h也没有丝毫思路,然后最后10分非常惨下午都在调T1,直到4点才调完,晚上情绪状态比较不稳定,但是调整的很好,还是坚持做了5到题,比较可以csp-s160分完......
  • CentOS 7.6无脑安装Python 3.11.9
    更新系统软件包:运行以下命令来更新系统上的所有软件包:sudoyumupdate-ysudoyumgroupinstall-y"DevelopmentTools"sudoyuminstall-ybzip2-develexpat-develgdbm-devel\ncurses-developenssl-develreadline-devel\sqlite-develzlib-develxz-develli......
  • TatukGIS Developer Kernel 11.91 FOR net Crack
    .NET开发人员内核TatukGIS开发人员内核(DK).NET版本是专业级托管代码.NETGIS库,可用于为多种操作系统开发专业GIS应用程序。此GISSDK版本专为以下操作系统设计和编译:.NET(又名Core ),支持:.NETStandard2.1用于开发适用于Windows、Linux和macOS的应用程序.......
  • [转载]自述WebPPD两年半的运营经历 [2012.11.9 sina blog]
    原文地址:自述WebPPD两年半的运营经历作者:尹广磊我在07年10月接触到了AxureRP,当时还是4.6英文版,学习门槛比现在的同学可是高多了。跟所有有过一定产品设计经验的人一样,我一开始是排斥这东西的。自认为过去的Visio用得不错。但是应公司要求,原型务必反映出页面间的链接关系。仅这一......
  • CentOs8 安装python3.11.9
    1、在opt目录下新建一个Python文件目录存放cd/optmkdirPython>如果显示权限不够需要用su命令进入管理员模式下载python3.11.9目前最新版本wgethttps://mirrors.huaweicloud.com/python/3.11.9/Python-3.11.9.tgz解压tgz文件tar-zxvfPython-3.11.9.tgz>个人倾向于用-......
  • docker安装rabbitmq3.11.9镜像集群
    准备3台服务器安装配置镜像集群IP1:192.168.0.1IP2:192.168.0.2IP3:192.168.0.3yuminstall-ylrzsztelnetnciftopunzipyum-utilsepel-releasesystemctlstopfirewalld.service&&systemctldisablefirewalld.serviceyum-config-manager--add-repohttp://mirrors.aliyu......
  • 大二快乐几日11.9
    索引的优缺点索引有其明显的优势,也有其不可避免的缺点。优点索引的优点如下:通过创建唯一索引可以保证数据库表中每一行数据的唯一性。可以给所有的MySQL列类型设置索引。可以大大加快数据的查询速度,这是使用索引最主要的原因。在实现数据的参考完整性方面可以加速表与表之间的连......