PTA-6-45 工厂设计模式-运输工具

题目如下:        

工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有类的运输方法只需显示“。。。开始进行货物运输。”

需要编写Motor接口的子类:

三个子类Train、Car和Tractor,实现接口Motor,并覆写transport()方法。

需要编写工厂类Factory:

设计一个工厂类Factory,包含一个createMotor(String name)方法,此方法返回值为接口Motor的子类实例对象。

已有的车接口定义如下:

interface Motor
{public static float power=100;public static float carrier=100;public void transport();
}

已有的Main类定义:

/* 请在这里填写答案 */public class Main
{public static void main(String args[]){     Scanner scan=new Scanner(System.in);String name;name=scan.next();Motor m=Factory.createMotor(name);if(m==null)System.out.println("没有此类车。");elsem.transport();}
}

根据题目要求,代码实现如下:

class Train implements Motor {int number;int pitch;@Overridepublic void transport() {System.out.println("车次为30,节数为:20的火车开始进行货物运输。");}	
}class Car implements Motor {@Overridepublic void transport() {System.out.println("汽车开始进行货物运输。");}	
}class Tractor implements Motor {public void work() {System.out.println("拖拉机在耕地");}@Overridepublic void transport() {work();System.out.println("拖拉机开始进行货物运输。");}	
}class Factory {public static Motor createMotor(String name) {if(name.equalsIgnoreCase("火车"))return new Train();else if(name.equalsIgnoreCase("汽车"))return new Car();else if(name.equalsIgnoreCase("拖拉机"))return new Tractor();elsereturn null;}
}

以上就是 PTA-6-45 工厂设计模式-运输工具 的全部内容了,希望能对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207582.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM中判断对象是否需要回收的方法

在堆里面存放着Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“ 存活 ” 着,哪些已经 “ 死去 ”。 引用计数算法 引用计数法是一种内存管理技术,它是通过对每个对象进行引用…

智能卡接口芯片解决方案

一、基本概述 HCM8035是一款简洁且低成本的智能IC卡模拟接口芯片。内嵌升压模块,支持5V,3V,1.8V全电压读写。具有全面的安全保护机制,包括ESD保护,端口短路保护,电源上掉电保护。外围元件数目少,采用QFN32L封装。 今…

微信在线点餐怎么做_怎么实现在微信公众号在线点餐

微信公众号在线点餐:一种全新的餐饮体验 在这个快节奏的时代,人们的时间变得越来越宝贵。为了满足人们的需求,微信公众号的在线点餐功能应运而生。通过微信公众号,用户可以随时随地浏览和订购自己喜欢的餐食,无需排队…

2023-11-20 LeetCode每日一题(最大子数组和)

2023-11-20每日一题 一、题目编号 53. 最大子数组和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的…

C语言好好题(一维数组)

两天没有更新了,贴纸们,有没有想我呀。😄😄😄 好了,就寒暄到这里吧,下面请看题: 有序序列判断 输入一个整数序列,判断是否是有序序列,有序,指序列…

FreeRTOS列表和列表项

FreeRTOS内核调度使用了大量的列表(list)和列表项(listitem)数据结构。它的源码中涉及到很多列表的操作,对于FreeRTOS来说,列表就是它最基础的一部分,列表被用作FreeRTOS调度器使用,…

JVM 堆外内存详解

Java 进程内存占用除了JVM 运行时数据区,还有直接内存(Direct Memory)区域及 JVM 程序自身也会占用内存 直接内存(Direct Memory)区域:直接内存通过使用Native堆外内存来存储数据,这意味着数据…

在中国企业出海的大浪潮下,亚马逊云科技提供遍及全球的基础设施和技术支持

中国技术出海是中国企业更高层次更高质量的全球化。在人类文明发展史上,凝聚中国古人智慧结晶的造纸术、印刷术、火药、指南针等,曾为中国技术出海写下过浓墨重彩的一笔。在今天,如金山办公、店匠科技、ADVANCE.AI等公司又以技术立业&#xf…

C语言每日一题(35)有效的括号

力扣网 20 有效的括号 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右…

一个月B站涨粉200万,品牌号不可错过的吸粉秘籍

越来越多品牌为了持续在B站营销而创建品牌官方账号,发布原创作品融入B站UP主中,吸引B站用户塑造品牌形象,提高品牌传播度、品牌声量。 据飞瓜数据(B站版)统计,B站有着超过2万个品牌号,本篇文章…

C# Onnx PP-HumanSeg 人像分割

目录 效果 模型信息 项目 代码 下载 效果 图片源自网络侵删 模型信息 Inputs ------------------------- name:x tensor:Float[1, 3, 192, 192] --------------------------------------------------------------- Outputs -------------------…

好用的博客评论系统 Valine 使用及避坑指南

评论系统,即网站的一个小功能,展示评论内容和用户输入框。开源免费的评论系统可不多,原来很火的"多说"评论系统都关闭了,而Disqus又是国外的访问受限。无意间发现了Valine,挺不错的,分享给大家。…