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

软件设计11

时间:2023-12-19 23:58:15浏览次数:24  
标签:11 phone 软件设计 System Phone println public out

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

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

实验要求:

1. 提交类图;

 

 

 

2. 提交源代码;

package tt;

 

public class Client {

 

    public static void main(String[]args) {

        Phone p=new SimplePhone();

        p.call();

        System.out.println("Simple");

        JarPhone p1=new JarPhone(p);

        p1.shoke();

        System.out.println("JarPhone");

        ComplexPhone p2=new ComplexPhone(p1);

        p2.light();

        System.out.println("ComplexPhone");

    }

 

}

package tt;

 

public class ComplexPhone extends UpgradePhone{

    public ComplexPhone(Phone phone){

        super(phone);

        System.out.println("***增加闪光功能***");

    }

    public void light(){

        System.out.println("灯光闪烁:咔嚓");

    }

}

package tt;

 

public class JarPhone extends UpgradePhone{

    public JarPhone(Phone phone){

        super(phone);

        System.out.println("***增加振动的功能***");

    }

    public void shoke(){

        System.out.println("振动:嗡嗡嗡");

    }

}

package tt;

 

public class SimplePhone implements Phone{

    public SimplePhone(){

        System.out.println("手机收到来电");

    }

    public void call(){

        System.out.println("主人来电话啦!");

    }

}

package tt;

 

public class UpgradePhone implements Phone{

    private Phone phone;

    public UpgradePhone(Phone a){

        phone=a;

    }

    public void call(){

        phone.call();

    }

}

package tt;

 

public interface Phone {

    public void call();

 

 

}

 

3.注意编程规范。

 

标签:11,phone,软件设计,System,Phone,println,public,out
From: https://www.cnblogs.com/renliqin/p/17915138.html

相关文章

  • 11.30
    《代码大全2》是一本非常具有实用性和指导性的软件开发类书籍。作者通过丰富的实例和案例,系统地介绍了软件开发的各个环节和技术要点,深入浅出地解释了软件工程的基本原理和方法。在阅读本书的过程中,我不仅对软件开发有了更深入的了解,还学到了很多宝贵的经验和技巧。书中介绍的软......
  • 11.29
    《代码大全2》是一本非常有价值的软件开发类书籍,它深入浅出地介绍了软件开发过程中的各个环节和技术要点。作者以通俗易懂的语言,结合大量实例和案例,系统地阐述了软件开发的基本原理和方法,对于初学者和有一定经验的开发者都具有很大的借鉴意义。在阅读本书的过程中,我深刻体会到了......
  • C++11 多线程
    文章参考:C++教程|爱编程的大丙(subingwen.cn)C++11的原子量与内存序浅析-兔晓侠-博客园(cnblogs.com)从C++11起,C++为用户提供一套新的多线程类。线程相关操作头文件:thread#include<thread>一.std::thread1.初始化和析构默认构造函数:原型:thread()noexce......
  • 大二快乐日记11.10
    MySQL提供了三种创建索引的方法:1)使用CREATEINDEX语句可以使用专门用于创建索引的CREATEINDEX语句在一个已有的表上创建索引,但该语句不能创建主键。语法格式:CREATE<索引名>ON<表名>(<列名>[<长度>][ASC|DESC])语法说明如下:<索引名>:指定索引名。一个表可以创建......
  • 大二快乐几日11.9
    索引的优缺点索引有其明显的优势,也有其不可避免的缺点。优点索引的优点如下:通过创建唯一索引可以保证数据库表中每一行数据的唯一性。可以给所有的MySQL列类型设置索引。可以大大加快数据的查询速度,这是使用索引最主要的原因。在实现数据的参考完整性方面可以加速表与表之间的连......
  • 大二快乐日记11.8
    索引就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,实质上是一张描述索引列的列值与原表中记录行之间一一对应关系的有序表。索引是MySQL中十分重要的数据库对象,是数据库性能调优技术的基础,常用于实现数据的快速检索。在MySQL中,通常有以下两种......
  • 大二快乐日记11.14
    基本语法当不再需要索引时,可以使用DROPINDEX语句或ALTERTABLE语句来对索引进行删除。1)使用DROPINDEX语句语法格式:DROPINDEX<索引名>ON<表名>语法说明如下:<索引名>:要删除的索引名。<表名>:指定该索引所在的表名。2)使用ALTERTABLE语句根据ALTERTABLE语句的语......
  • debian11网络配置文件
    背景介绍近期公司新装了一批测试环境的机器,系统是Debian11,第一次配置Debian的静态网络IP,特此记录一下。(debian11默认的配置文件中的网卡名称未必是对的,请使用ip-a进行确认后进行修改。)配置文件root@server20x:~#cat/etc/network/interfaces#Thisfiledescribesthenet......
  • MySQL运维11-Mycat分库分表之应用指定分片
    一、应用指定分片此规则是在运行阶段有应用自主决定路由到那个分片,根据提供的字段,然后按照指定的规则,截取该字段的部分子字符串当做分片的依据,该分别方法比较灵活,适用于某个字段有几个特殊的字符串拼接而成的这种场景,例如:一个学校的学号:小学部的学号以0开头,形式为:0xxxxx(......
  • 111
    /home/sdnu/anaconda3/envs/DDIM/bin/python/media/sdnu/f9cc3556-f530-42b2-95df-64c823288321/home/sdnu/SXY/Diffusion/latent-dehazing/train.pyexportCUDA_VISIBLE_DEVICES=0Disableddistributedtraining.Pathalreadyexists.Renameitto[/media/sdnu/f9cc3556-f......