首页 > 其他分享 >实验十一

实验十一

时间:2023-11-09 09:23:31浏览次数:28  
标签:十一 ComplexPhone Phone void System phone 实验 public

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

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

实验要求:

1.提交类图;

2.提交源代码;

3.注意编程规范。

 

public class Changer implements Phone{

    private Phone phone;
    public Changer(Phone p) {
        this.phone=p;
    }
    public void voice() {
        phone.voice();
    }
}
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();
    }
}
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("发出声音!");
       }

}

 

标签:十一,ComplexPhone,Phone,void,System,phone,实验,public
From: https://www.cnblogs.com/usadingzhen/p/17818955.html

相关文章

  • Python实验:Socket编程
    实验六Socket编程一、实验目标:了解TCP协议原理、标准库socket的用法、熟悉Socket编程。1.TCP协议原理:TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于流的协议,用于在计算机网络中传输数据。它是互联网协议套件中的一部分,通常与IP(Internet......
  • 周报_第十一周
    学习时间:2023.11.2-2023.11.8完成内容这周因为,上周六下午考软考,所以在科研方面花的时间比较少。重新读了这篇《Spatio-TemporalGating-AdjacencyGCNforHumanMotionPrediction》,跟着文章的思路,看文章引用的论文,把人体预测这个方向的发展捋了一遍,因为这篇文章没有提供代码,......
  • 第十一周课堂总结
    6.1I/O重定向 打开一个终端0,输入date命令,会显示当前时间。上述命令将date的输出结果重定向到一个普通文件。接着再打开一个终端1,将终端0的date输出结果重定向到终端1. 改变描述符为2的文件的输出方向,date命令是正确的,执行结果在终端中显示,输入命令是错误的,执行结果标准输......
  • 大型数据库实验二
    实验二--熟悉常用的HDFS操作1、向hdfs中上传任意文本文件,如果文件已经存在,由用户指定是追加文件内容还是覆盖文件内容(准备了两个文件-wordcount.txt和local.txt)我这里定义的是在wordcount.txt文件末尾追加local.txt里面的内容:这里定义的是用local.txt的文件内容覆盖掉原来......
  • 2008秋-计算机软件基础-实验三 参考源程序
    实验三参考源程序//软件基础教材79页习题6答案//EmanLee#include<stdio.h>#include<stdlib.h>#definem5//队列容量//定义队列的结构structqueue{intseq[m];//队列元素intquelen;//队列中元素个数intrear;//队列尾指针};//初始化队列......
  • 2008秋-计算机软件基础- 实验二 参考源程序
    实验二参考源程序/*Author:EmanLee,计算机软件基础教材P79,ex4设有一头为head的带头结点的单链表,其数据域为整形数据且递增有序。试写一算法,将元素插入链表适当的位置,以保持链表的有序性。*/#include<stdio.h>#include<stdlib.h>typedefintDataType;struc......
  • 2008秋-计算机软件基础-实验内容
    ------------------------------------------------------------------题目:实验C语言综合复习目的:掌握函数,结构体,指针的使用,预习线性表的顺序存储(顺序表)实验内容:1看PPT, 函数,结构体,指针章节。要求: -----------------------------------------------------------......
  • 十一月七日
    servlet关于添加数据库,查找的sql语句。insertinto表名 value()主要的关键是包装连接数据库,在调用同一目录下的其他包时注意static的区别,selectfrom表名packageexample;importjava.sql.Connection;importjava.sql.Statement;importjava.sql.ResultSet;importjava......
  • 实验三_OOP_张文瑞_202213260018
    任务1源代码:11#pragmaonce2233#include<iostream>44usingstd::cout;55usingstd::endl;6677classPoint{88public:99Point(intx0=0,inty0=0);1010~Point()=default;11111212intget_x()......
  • 软件设计实验8:适配器模式
    实验8:适配器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解适配器模式的动机,掌握该模式的结构;2、能够利用适配器模式解决实际问题。 [实验任务一]:双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。实验要求:1. 画出对应的类图; 2.......