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);}}}

面向对象第五章课后作业相关推荐

  1. 慕课软件质量保证与测试(第五章.课后作业)

    慕课金陵科技学院.软件质量保证与测试.第五章.软件测试过程.课后作业 0 目录 5 软件测试过程 5.7 课后作业 5.7.1 课堂重点 5.7.2 测试与作业 6 下一章 0 目录 5 软件测试过程 ...

  2. HTML5和CSS3开发第五章课后作业

    1.制作图5.38所示的北大青鸟课程介绍页面.页面要求如下, >使用<div>.<p>.<span>等标签编辑页面,页面整体背景颜色使用线性渐变 (#ECEC ...

  3. python第五章课后作业_python 入门到实践第五章课后练习

    原博文 2020-06-19 11:05 − users = ['admin','alex','eric','crystol','joji']#创建一个列表for i in users:#遍历整个列表 ...

  4. 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 ...

  5. 写在11期培训班第五次课后作业前面的话

       本文内容简单,但是感觉对一些博友还是有参考警醒价值,因此,分享给支持老男孩的所有博友们,希望你们喜欢! 写在11期培训班第五次课后作业前面的话: 作为运维过来人,老男孩总希望能多给大家讲一点成功 ...

  6. c语言定义int 输出4386,大学C语言第五章课后习题参考程序

    考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...

  7. Python从入门到实践第9章课后作业

    Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...

  8. 疯狂java讲义第五章课后习题答案

    1.编写一个学生类,提供name.age.gender.phone.address.cmail成员变量,且为每个成员变量提供 seter.geter方法.为学生类提供默认的构造器和带所有成员变量的构造 ...

  9. MOOC高级语言程序设计第七章课后作业

    MOOC高级语言程序设计第七章课后作业 计票程序 计算天数 计票程序 题目描述 完成一个对候选人得票的统计程序.假设有3个候选人,名字分别为Li,Zhang和Fun.使用结构体存储每一个候选人的名字和 ...

最新文章

  1. 资源 | 机器学习必知的15大框架,欢迎补充!
  2. python协程池操作mysql_在python中使用aiomysql异步操作mysql
  3. 斐波那契数列取模(大数)分治算法
  4. 手把手教你做一个react-redux-demo
  5. android如何监听按钮,Android – 两个onClick监听器和一个按钮
  6. WEB2.0开发平台
  7. AWS上的Cilium网络拓扑和流量路径
  8. 液晶屏和计算机组成,液晶显示屏结构是什么 液晶显示屏结构介绍【图文】
  9. HTTP 如何传输大文件
  10. “迭代期内无变更”与敏捷开发产品版本规划
  11. RedHat发布JBoss 7.2,完全支持Java EE 8规范
  12. 使用java7的try-resource-with语法用httpclient抓取网页并用jsoup获取网页对象
  13. 炒冷饭的“象棋人机大战”
  14. 主机无法Ping通虚拟机
  15. 日本外贸市场开发攻略
  16. antd form validateFields的校验指定元素
  17. 嵌入式的汉字原来是这样显示的?
  18. 如何给厂区做导航地图?智能工厂导航地图解决方案公司
  19. 基于Echarts实现可视化数据大屏分析大屏监控系统
  20. 示波器的使用以及基本原理

热门文章

  1. 零基础学习PHP编程——基本概念详解之域名解析与DNS缓存
  2. html中form表单
  3. 把自习室做成一门生意,字节跳动、学而思又有什么新鲜玩法?
  4. 电脑右键计算机属性在哪里打开,win10系统右键点击计算机没有属性选项的详细方法...
  5. 为SteamVR做射线触发UI
  6. matlab调用函数出nan,求助:Matlab的fmincon函数出现RCOND = NaN
  7. display显示与隐藏元素
  8. 一个简单易用的容器管理平台-Humpback
  9. 求解如何判断一个整数是不是回文数的问题
  10. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996(示例代码)