zoukankan      html  css  js  c++  java
  • Day_08【面向对象】扩展案例2_测试旧手机新手机类,并给新手机实现玩游戏功能

    • 分析以下需求,并用代码实现
       1.定义手机类
       	行为:
       		打电话,发短信
       2.定义接口IPlay
       	行为:
       		玩游戏
      
       3.定义旧手机类继承手机类
       	行为:
       		继承父类的行为
       4.定义新手机继承手机类实现IPlay接口
       	行为:继承父类的行为,重写玩游戏方法
      
       5.定义测试类
       	在测试类中定义一个 用手机的方法,要求该方法既能接收老手机对象,也能接收新手机对象
       	在该方法内部调用打电话,发短信以及新手机特有的玩游戏方法
      
    • 分析:
       旧手机类:打电话(){},发短信(){}
       新手机类:打电话(){},发短信(){}
      
    • 向上提取一个父类
      抽象手机类:
       打电话();
       发短信();
      
       旧手机类:继承手机类
       新手机类:继承手机类
      
      玩游戏接口:玩游戏();
      新手机实现玩游戏接口,重写游戏方法
      
    package com.itheima4;
    //抽象手机类
    public abstract class Phone {
    
    	public abstract void call();
    	
    	public abstract void sendMessage();
    
    }
    
    package com.itheima4;
    //玩游戏接口
    public interface IPlay {
    	public abstract void playGame();
    
    }
    
    package com.itheima4;
    //旧手机类
    public class OldPhone extends Phone{
    
    	@Override
    	public void call() {
    		System.out.println("旧手机打电话");
    	}
    
    	@Override
    	public void sendMessage() {
    		System.out.println("旧手机发短信");
    	}
    	
    
    }
    
    package com.itheima4;
    //新手机类
    public class NewPhone extends Phone implements IPlay{
    
    	@Override
    	public void playGame() {
    		System.out.println("新手机能玩崩坏3");
    	}
    
    	@Override
    	public void call() {
    		System.out.println("新手机打电话");
    	}
    
    	@Override
    	public void sendMessage() {
    		System.out.println("新手机发短信");
    	}
    
    }
    
    package com.itheima4;
    //测试
    public class Test {
    	public static void main(String[] args) {
    		OldPhone op = new OldPhone();
    		op.call();
    		op.sendMessage();
    		System.out.println("------------------");
    		
    		NewPhone np = new NewPhone();
    		np.call();
    		np.sendMessage();
    		np.playGame();
    	}
    
    }
    

    控制台内容
    控制台内容

  • 相关阅读:
    mount 和 umount 命令
    mmap函数使用
    Linux系统下查看目录大小
    守护进程的创建方法和步骤
    linux中的dup()系统调用
    uboot烧写命令--yaffs、jiffs和ubifs
    对volatile关键字的理解
    linux下如何挂接(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享
    常用NFS mount选项介绍
    mount nfs 经常出错信息总结(转)
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772544.html
Copyright © 2011-2022 走看看