首页 > 其他分享 >每日总结28

每日总结28

时间:2023-11-07 23:34:05浏览次数:33  
标签:总结 每日 Vehicle 28 Road vehicle new public road

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

 

实验9:桥接模式

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

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

2、能够利用桥接模式解决实际问题。

 

[实验任务一]:两个维度的桥接模式

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。

1. 画出对应的类图;

 

2. 提交源代码;

 

Bus.java

package ruanshe9;

 

public class Bus implements Vehicle{

    @Override

    public void run() {

        System.out.print("Bus");    

    }

}

Car.java

package ruanshe9;

 

public class Car implements Vehicle{

    @Override

    public void run() {

        System.out.print("Car");    

    }

}

Liqing.java

package ruanshe9;

 

public class Liqing extends Road{

    public void drive() {

        vehicle.run();

        System.out.println("行驶在沥青路");

    }

}

Road.java

package ruanshe9;

 

public abstract class Road {

    protected Vehicle vehicle;

    public void setVehicle(Vehicle ve) {

        this.vehicle=ve;

    }

    public abstract void drive();

}

Shuini.java

package ruanshe9;

 

public class Shuini extends Road{

    public void drive() {

        vehicle.run();

        System.out.println("行驶在水泥路");

    }

}

Test.java

package ruanshe9;

 

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {

        Vehicle vehicle = null;

        Road road = null;

        System.out.println("1、Car/水泥路  2、Car/沥青路  3、Bus/水泥路  4、Bus/沥青路");

        Scanner input=new Scanner(System.in);

        int i=input.nextInt();

            vehicle=(Vehicle)new Car();

            road=(Road)new Shuini();

            road.setVehicle(vehicle);

            road.drive();

        

            vehicle=(Vehicle)new Car();

            road=(Road)new Liqing();

            road.setVehicle(vehicle);

            road.drive();

       

            vehicle=(Vehicle)new Bus();

            road=(Road)new Shuini();

            road.setVehicle(vehicle);

            road.drive();

        

            vehicle=(Vehicle)new Bus();

            road=(Road)new Liqing();

            road.setVehicle(vehicle);

            road.drive();

        

 

    }

}

Vehicle.java

package ruanshe9;

 

public interface Vehicle {

    public void run();

}

3.注意编程规范。

 

标签:总结,每日,Vehicle,28,Road,vehicle,new,public,road
From: https://www.cnblogs.com/mine-my/p/17816348.html

相关文章

  • 2023年11月7日总结
    更好的观看地址总结今天早上是练习赛。不是很难。今天没有什么印象深刻的事情。确实没有。大家都很正常,像往常一样。大家都很安静,很爱唱歌。似乎与往常没有什么不同。哦对了,昨天开始感觉变冷了,主要是早上,还有这几天天气都很晴朗,白天都很热,教室里也很热。突然发现一些事情,一些事......
  • FS4056H锂电池充电芯片IC耐压28V带OVP功能
    随着科技的不断进步,电子产品已经成为了我们生活中不可或缺的一部分。而电池作为电子产品的能量来源,其性能直接影响到产品的使用效果。本文将介绍一款性能卓越的锂电池充电芯片FS4056H,其耐压28V,带有过电压保护(OVP)功能,适用于各种电子产品中。一、FS4056H芯片特点FS4056H是一款高性能......
  • NOIP2023模拟13联测34 总结
    NOIP2023模拟13联测34总结目录NOIP2023模拟13联测34总结比赛过程题目A.origen题目大意思路B.competition题目大意思路C.tour题目大意D.abstract题目大意比赛过程看了一下题,感觉就\(T2\)有一点思路。\(T1\)先打一个\(30\)分暴力,感觉要分位考虑,想了大概\(1h\)就跳......
  • 【面试题】消息队列面试题总结(RocketMQ版)
    自己整理、总结了一些消息队列相关面试题,并想了一些RocketMQ面试过程中可能会问的知识点。使用消息队列的优点系统解耦比如系统A产生的某个事件,系统B需要感知,简单实现就是在系统A产生事件之后,调用系统B的接口通知系统B,如果此时再增加一个系统C,还需要修改系统A的代码,再加入调用......
  • Java语言基础知识全总结
    一.Java的优点1.      跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快2.      纯面向对象。Java所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特......
  • 每日博客
    Linuxmkdir(英文全拼:makedirectory)命令用于创建目录。语法mkdir[-p]dirName参数说明:-p确保目录名称存在,不存在的就建一个。实例在工作目录下,建立一个名为runoob的子目录:mkdirrunoob在工作目录下的runoob2目录中,建立一个名为test的子目录。若runoob2目录......
  • 2023.11.7——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • Mit6.828 Lab2
    lab2​ 提交lab1代码的时候,出现了合并冲突的问题,使用gitstatus,发现问题出现在init.c文件与lab分支的文件产生冲突,修改后成功提交。​ lab2中多出来了以下几个文件inc/memlayout.hkern/pmap.ckern/pmap.hkern/kclock.hkern/kclock.c​ 另外lab2中还多了许多宏,在接下来的......
  • 每日总结11.07
    今天大数据上课做了实验,熟悉了常用的Linux操作和Hadoop操作,1.熟悉常用的Linux操作1)cd命令:切换目录2)ls命令:查看文件与目录3)mkdir命令:新建目录4)rmdir命令:删除空的目录5)cp命令:复制文件或目录6)mv命令:移动文件与目录,或更名7)rm命令:移除文件或目录8)cat命令:查看文件内容9)tac命令......
  • NOIP2023模拟8联测29 总结
    NOIP2023模拟8联测29总结题目T1集合大意给出一个序列\(S\),找出有多少个区间\([L,R]\),使得\([L,R]\)值域的连续长度不超过\(k\)。\(n\leq2*10^5,k\leqn\)赛时思路对于区间\([L,R]\),如果有\([L',R']\)符合答案(\(R'\leqR\)且\(L\leqL'\)),那么区间\([L,R']\)......