A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-15 15:23  /  985 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        基础班
                学习,睡觉
        高级班
                学习,睡觉
        可以将这两项进行抽取。写一个转型实例
*/
//定义一个学生类。因为学习的方式不一样。所以定义一个抽象函数。而类也必须是抽象的
abstract class Students {
       
        public abstract void study();
        public void sleep() { //因为大众习惯都是躺着睡。所有可以直接写出来。个别的可以进行方法重写
                System.out.println("躺着睡");
        }
       
}

//定义一个基础班的类
class BaseStudents extends Students {

        public void study() {
                System.out.println("BaseStudents");
        }

}

//定义一个高级班的类。而且这个哥们睡觉姿势和别人不一样
class AdvStudents extends Students {
       
        public void study() {
                System.out.println("AdvStudents");
        }
       
        //重写父类函数
        public void sleep() {
                System.out.println("站着睡");
        }
       
}

//因为两个班里的学生都具有学习和睡觉的功能。所以把这两个功能抽取出来。放到一个类中。方便打印
class DoStudents {
       
        public void doStudents(Students s) {
                s.study();
                s.sleep();
        }
       
}

//运行类
class ZhuanXingDemo2 {
        public static void main(String[] args) {
                //创建打印功能的类
                DoStudents ds = new DoStudents();
                ds.doStudents(new BaseStudents()); //运用多态的形式打印基础班的功能
                ds.doStudents(new AdvStudents()); //运用多态的形式打印高级班的功能
        }
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马