首页 > 其他分享 >番外-软件设计(18)

番外-软件设计(18)

时间:2023-11-27 09:11:33浏览次数:32  
标签:test23 软件设计 18 番外 package System class new public

旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。

实验要求:

1. 提交源代码;

package test23;

 

public class AirplaneStrategy implements TravelStrategy{

 

    public void travel() {

        System.out.println("乘坐飞机旅行");

    }

 

}

package test23;

public class BicycleStrategy implements TravelStrategy{

 

    public void travel() {

        System.out.println("自行车旅行");

    }

 

}

package test23;

 

 

import java.util.Scanner;

 

public class Client {

    public static void main(String[] args) {

        Person p = new Person();

        System.out.println("请选择:1、飞机  2、火车  3、自行车");

        Scanner input=new Scanner(System.in);

        int i=input.nextInt();

        if(i==1) {

            p.setStrategy(new AirplaneStrategy());

        }else if(i==2) {

            p.setStrategy(new TrainStrategy());

        }else if(i==3) {

            p.setStrategy(new BicycleStrategy());

        }

        p.travel();

    }

}

package test23;

 

 

public class Person {

    //聚合策略类对象

    private TravelStrategy strategy;

标签:test23,软件设计,18,番外,package,System,class,new,public
From: https://www.cnblogs.com/zjsdbk/p/17858417.html

相关文章

  • 7-1896C - Matching Arrays
    题意:两个数组\(a和b\),对\(b\)任意排序,使得\(a[i]>b[i]的个数为x\),要求输出能满足的数列。思路:一个任意排序,相当于两个任意排序,都升序,发现规律,\(让排序后的b数组,循环右移x位置\),满足条件则输出,否则一定不满足。代码:点击查看代码#include<bits/stdc++.h>#defineintlong......
  • 2023-2024-1 学号20231318《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第九周作业这个作业的目标自学教材《计算机科学概论》第10、11章以及《C语言程序设计》第8章并完成云班课测试。作业正文2023-2024-1学号202......
  • 软件设计6
    [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。实验要求:1. 画出对应的类图;   2. 提交源代码(用C+  完成);#include"stdafx.h" usingnamespacestd;  ......
  • 2023-2024-1 20231418 《计算机基础与程序设计》第9周学习总结
    2023-2024-120231418《计算机基础与程序设计》第9周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13005这个作业的目标《计......
  • 鸿蒙系统的背后技术20218573
    鸿蒙系统基于Linux打造,其本质还是安卓系统?随着华为推出鸿蒙系统,科技界掀起了一场关于这一新兴操作系统的讨论。其中一个备受关注的议题是:鸿蒙系统究竟是一个全新的操作系统,还是安卓系统的一个变体?本文将深入研究鸿蒙系统的技术基础,以解开这个引人瞩目的谜团。1.鸿蒙系统的背......
  • Android平台GB28181设备接入模块开发填坑指南
    技术背景为什么要开发Android平台GB28181设备接入模块?这个问题不再赘述,在做Android平台GB28181客户端的时候,媒体数据这块,我们已经有了很好的积累,因为在此之前,我们就开发了非常成熟的RTMP推送、轻量级RTSP服务、录像模块、针对音视频的对接处理单元。这让我们在做Android平台GB28181......
  • dp入门 cf189A
    题意:有一个长为n的带子,可以将它剪为a,b,c三种长度,问最多能剪多少段?分析:是一道与完全背包类似的题,但这里要求的是背包正好装满。该怎么解决这一问题?我们可以将f数组全部初始化为-1,状态转移时如果上一个状态不是-1才可以转移。状态转移方程\(f_{i,j}\)表示前i个物品恰好装满j的......
  • P5867 [SEERC2018] Fishermen(暂无评定) 题解
    题意有\(n\)条鱼,\(m\)个渔夫,且这\(m\)个渔夫都在横坐标轴上,每个渔夫都有一个长度为\(l\)的鱼竿,当鱼和渔夫距离小于或等于\(l\)时,鱼能被钓到。并且渔夫\((x,0)\)与鱼\((a,b)\)的距离(假设为\(L\))满足如下公式\(|a−x|+b\)式子中\(x\)为渔夫的横坐标,\((a,b)......
  • 面向对象软件设计中常见的问题 - 为什么要定义类的私有方法
    "为什么要定义私有方法?"这是一个在面向对象软件设计中常见的问题,涉及到封装性、安全性和设计灵活性等方面的考虑。首先,让我们来看看为什么要使用私有方法。封装性(Encapsulation):面向对象编程的一个基本原则是封装,即将对象的内部细节隐藏起来,只暴露必要的接口给外部。私有方法是......
  • 86th 2023/11/18 NOIP Day1
    已经过去了,总结得写赛前没什么,直接入题T1一眼了,T2看了看,手模了一下,觉得非常麻烦,难以处理T3看一眼认为不太能做,后来还剩0.5h时开了它,发现可以拿分T4看出了暴力,发现有一当应该是DP的部分分然后去推T2,然后很自信地认为,按它特殊数据给的数量,可以拿80分然后20min切了T1后,开始码T2......