面向对象第五章课后作业
1.编码创建一个打印类Printer,定义抽象方法print();创建两个子类,即针式打印机类DotMatrixPrinter和喷墨打印机类LnkpetPrinter,并在各自类中重写方法print(),编写测试类实现两种打印机打印,在添加一个激光打印机子类LaserPrinter,重写方法print(),修改测试类实现该打印机打印。
package com.homework.demo.test5_5;/*** 打印机抽象父类* @author suixin**/
public abstract class Printer {/*** 抽象打印方法*/public abstract void print();}package com.homework.demo.test5_5;/*** 针式打印机类* @author suixin**/
public class DotMatrixPrinter extends Printer{@Overridepublic void print() {// TODO Auto-generated method stubSystem.out.println("针式打印机");}}package com.homework.demo.test5_5;/*** 喷墨打印机类* @author suixin**/
public class InkpetPrinter extends Printer{@Overridepublic void print() {// TODO Auto-generated method stubSystem.out.println("喷墨打印机");}}package com.homework.demo.test5_5;/*** 激光打印机类* @author suixin**/
public class LaserPrinter extends Printer{@Overridepublic void print() {// TODO Auto-generated method stubSystem.out.println("激光打印机");}}package com.homework.demo.test5_5;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubPrinter p = new DotMatrixPrinter(); //针式打印机p.print();Printer p1 = new InkpetPrinter(); //喷墨打印机p1.print();Printer p2 = new LaserPrinter(); //激光打印机p2.print();}}
2.请使用多态实现以下需求,牛犇有两个很要好的朋友,一个是中国的王小强,喜欢吃四川菜,练太极拳,另一个是美国的约翰,喜欢吃披萨,打橄榄球,每当朋友来拜访时,牛犇都会按各自的喜好招待他们。
package com.homework.demo.test5_6;/*** 主人类* @author suixin**/
public abstract class Master {String masterName = "牛犇"; //主人姓名String name = " "; //客人姓名String eat = " "; //吃的菜String hobby = " "; //客人的爱好public abstract void serve(); //抽象招待方法public void serve1(Master master) {if (master instanceof Guest1) { //如果是王小强Guest1 guest1 = (Guest1)master;guest1.serve();}else if (master instanceof Guest2) { //如果是约翰Guest2 guest2 = (Guest2)master;guest2.serve();}}
}package com.homework.demo.test5_6;/*** 王小强类* @author suixin**/
public class Guest1 extends Master{/*** 招待王小强的方法*/public void serve() {super.name = "王小强";super.hobby = "练太极拳";super.eat = "吃四川菜";System.out.println(super.masterName + "在招待" + super.name + "一起" + super.eat+","+super.hobby);}
}package com.homework.demo.test5_6;/*** 约翰类* @author suixin**/
public class Guest2 extends Master {@Overridepublic void serve() {// TODO Auto-generated method stubsuper.name = "约翰";super.hobby = "打橄榄球";super.eat = "吃披萨";System.out.println(super.masterName + "在招待" + super.name + "一起" + super.eat + ","+ super.hobby);}}package com.homework.demo.test5_6;
/*** 测试类*/
import java.util.Scanner;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);System.out.print("请问是谁哪个朋友来拜访(1.王小强 2.约翰):");if (scanner.nextInt() == 1) { //王小强时Master master = new Guest1();master.serve1(master);}else { //约翰Master master = new Guest2();master.serve1(master);}}}
面向对象第五章课后作业相关推荐
- 慕课软件质量保证与测试(第五章.课后作业)
慕课金陵科技学院.软件质量保证与测试.第五章.软件测试过程.课后作业 0 目录 5 软件测试过程 5.7 课后作业 5.7.1 课堂重点 5.7.2 测试与作业 6 下一章 0 目录 5 软件测试过程 ...
- HTML5和CSS3开发第五章课后作业
1.制作图5.38所示的北大青鸟课程介绍页面.页面要求如下, >使用<div>.<p>.<span>等标签编辑页面,页面整体背景颜色使用线性渐变 (#ECEC ...
- python第五章课后作业_python 入门到实践第五章课后练习
原博文 2020-06-19 11:05 − users = ['admin','alex','eric','crystol','joji']#创建一个列表for i in users:#遍历整个列表 ...
- c语言常数-ox6a是什么意思,c语言1-7章课后作业答案
c语言1-7章课后作业答案 51intn=0:char*s:if(argc1)for(s=argv1:*s:s+)if(A=*s&*s=Z)|(a=*s&*s=z)n+:elsen=0 ...
- 写在11期培训班第五次课后作业前面的话
本文内容简单,但是感觉对一些博友还是有参考警醒价值,因此,分享给支持老男孩的所有博友们,希望你们喜欢! 写在11期培训班第五次课后作业前面的话: 作为运维过来人,老男孩总希望能多给大家讲一点成功 ...
- c语言定义int 输出4386,大学C语言第五章课后习题参考程序
考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...
- Python从入门到实践第9章课后作业
Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...
- 疯狂java讲义第五章课后习题答案
1.编写一个学生类,提供name.age.gender.phone.address.cmail成员变量,且为每个成员变量提供 seter.geter方法.为学生类提供默认的构造器和带所有成员变量的构造 ...
- MOOC高级语言程序设计第七章课后作业
MOOC高级语言程序设计第七章课后作业 计票程序 计算天数 计票程序 题目描述 完成一个对候选人得票的统计程序.假设有3个候选人,名字分别为Li,Zhang和Fun.使用结构体存储每一个候选人的名字和 ...
最新文章
- 资源 | 机器学习必知的15大框架,欢迎补充!
- python协程池操作mysql_在python中使用aiomysql异步操作mysql
- 斐波那契数列取模(大数)分治算法
- 手把手教你做一个react-redux-demo
- android如何监听按钮,Android – 两个onClick监听器和一个按钮
- WEB2.0开发平台
- AWS上的Cilium网络拓扑和流量路径
- 液晶屏和计算机组成,液晶显示屏结构是什么 液晶显示屏结构介绍【图文】
- HTTP 如何传输大文件
- “迭代期内无变更”与敏捷开发产品版本规划
- RedHat发布JBoss 7.2,完全支持Java EE 8规范
- 使用java7的try-resource-with语法用httpclient抓取网页并用jsoup获取网页对象
- 炒冷饭的“象棋人机大战”
- 主机无法Ping通虚拟机
- 日本外贸市场开发攻略
- antd form validateFields的校验指定元素
- 嵌入式的汉字原来是这样显示的?
- 如何给厂区做导航地图?智能工厂导航地图解决方案公司
- 基于Echarts实现可视化数据大屏分析大屏监控系统
- 示波器的使用以及基本原理
热门文章
- 零基础学习PHP编程——基本概念详解之域名解析与DNS缓存
- html中form表单
- 把自习室做成一门生意,字节跳动、学而思又有什么新鲜玩法?
- 电脑右键计算机属性在哪里打开,win10系统右键点击计算机没有属性选项的详细方法...
- 为SteamVR做射线触发UI
- matlab调用函数出nan,求助:Matlab的fmincon函数出现RCOND = NaN
- display显示与隐藏元素
- 一个简单易用的容器管理平台-Humpback
- 求解如何判断一个整数是不是回文数的问题
- c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996(示例代码)