首页 > 其他分享 >11.25实验 23:策略模式

11.25实验 23:策略模式

时间:2024-12-02 12:54:38浏览次数:9  
标签:TourStrategy 23 travel package 11.25 strategy 实验 void public

[实验任务一]:旅行方式的选择

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

实验要求:

1. 画出对应的类图;

 

 

2. 提交源代码;

package strategy;

 

public class Person {

    private TourStrategy ts;

 

    public void setTs(TourStrategy ts) {

        this.ts = ts;

    }

 

    public void travel(){

        ts.travel();

    }

}

package strategy;

public interface TourStrategy {

    public void travel();

}

package strategy;

 

public class AirStrategy implements TourStrategy{

    @Override

    public void travel() {

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

    }

}

package strategy;

 

public class TrainStrategy implements TourStrategy{

    @Override

    public void travel() {

        System.out.println("乘坐火车旅游");

    }

}

package strategy;

 

public class BikeStrategy implements TourStrategy{

    @Override

    public void travel() {

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

    }

}

package strategy;

 

public class Client {

    public static void main(String[] args) {

        Person p = new Person();

        TourStrategy air = new AirStrategy();

        p.setTs(air);

        p.travel();

        System.out.println("-------------------------");

        TourStrategy train = new TrainStrategy();

        p.setTs(train);

        p.travel();

        System.out.println("-------------------------");

        TourStrategy bike = new BikeStrategy();

        p.setTs(bike);

        p.travel();

    }

}

 

3. 注意编程规范。

 

 

标签:TourStrategy,23,travel,package,11.25,strategy,实验,void,public
From: https://www.cnblogs.com/yindantong/p/18581648

相关文章

  • 【HarmonyOS开发】华为商城应用页面实验示例解析(ArkTS实战解析)
    一.实验背景本次项目为华为云鸿蒙应用入门级开发者认证的实验项目,借此来巩固对ArkTS的学习。实验源地址开发者云实验_云实验KooLabs_在线实验_上云实践_云计算实验_AI实验_华为云官方实验平台-华为云 实验目标本实验一共需要完成以下三个部分的任务:本实验将模拟制作......
  • 子卡设计原理图:232-基于FMC的2收2发TLK2711子卡
    基于FMC的2收2发TLK2711子卡     一、板卡概述   TLK2711是千兆位收发器,专用于超高速双向点对点数据传输系统。TLK2711与时钟芯片SI5338相结合支持1.6Gbps至2.5Gbps的有效串行接口速度,可提供高达2Gbps的数据带宽。板卡包含2路TLK2711,实现2收2......
  • 上周热点回顾(11.25-12.1)
    热点随笔:· 2024年各编程语言运行100万个并发任务需要多少内存? (InCerry)· .NET9-Swagger平替Scalar详解(四) (IT规划师)· 《HelloGitHub》第104期 (削微寒)· MySQL用错了,99%的人已中招 (苏三说技术)· .NETCore线程池(ThreadPool)底层原理浅谈 (叫我安不理)·......
  • 实验5
    实验任务1:include<stdio.h>defineN5voidinput(intx[],intn);voidoutput(intx[],intn);voidfind_min_max(intx[],intn,int*pmin,int*pmax);intmain(){inta[N];intmin,max;printf("录入%d个数据:\n",N);input(a,N);printf("数据是:\n&q......
  • 20222405 2024-2025-1 《网络与系统攻防技术》实验七实验报告
    1.实验内容1.1学习内容本周的学习内容涵盖了Web安全的基础知识以及一些常见的攻击技术。首先了解了Web安全的基本概念,区分了前端和后端的安全防护要点,掌握了如何识别和防范常见的Web安全漏洞。接着,深入学习了SQL注入的原理,了解了通过恶意SQL语句对数据库进行操作的方式,并学习了......
  • cpp 实验5
    1hpp2#pragmaonce3#include<iostream>4usingnamespacestd;5classMachinePets{6private:7stringnickname;8public:9MachinePets(conststring&s);10virtualstringtalk()const=0;11stringget_nickname()......
  • 2024-2025-1 20231309《计算机基础与程序设计》第九周助教总结
    课程答疑现阶段,大家都主要在学习C语言编程,时不时会遇到程序不会写,报错不会改的问题。而出现此类问题的主要原因包括:算法不熟悉,如写不出素数的判断等解决方案:多熟悉学习常见的简单算法包括比大小,判断素数等语法不熟悉,如赋值和判断语句等解决方案:多熟悉课本和PPT相关内......
  • matlab 代码通过数据读取、计算和绘图等操作,对实验数据进行了处理和分析,展示了升力系
    clearall;closeall;file='实验数据记录(1).xlsx';data0=readtable(file);%%参数g=9.8;density=1;list_x1=2*[00.06250.05750.05750.05750.05750.05750.05750.05750.05750.05750.05750.05750.05750.05750.05750.075];list_x2=[0......
  • 20222303 2024-2025-2 《网络与系统攻防技术》实验七实验报告
    1.实验内容应用SET工具,通过多步操作建立冒名网站,获取登录信息。利用ettercap实施DNSspoof攻击,篡改特定网站IP。结合两种技术,用DNSspoof引导访问至冒名网站。2.实验过程2.1简单应用SET工具建立冒名网站输入命令sudovi/etc/apache2/ports.conf查看本机apache......
  • 静态路由综合实验
    一.实验拓扑图的搭建及其实验要求二.实验的思路1.划分网段,图中可以看出有一共有六个骨干链路,每个骨干链路需要两个IP地址;           每台路由器中存在两个环回接口(除R5之外),所以我们一共需要14个网段基于实验要求,我们要在基于192.168.1.0/24进行合理......