zoukankan      html  css  js  c++  java
  • 多态-实例

    /**
    * Created by rabbit on 2014-07-21.
    * 当多个类中 出现相同功能。但是功能主体不同。这时可以进行向上
    * 抽取,这时,只抽取功能定义,而不抽取功能主体。
    *
    * 抽象 看不懂
    *
    * 抽象类的特点
    * 1、抽象方法一定定义在抽象类中
    * 2、抽象方法和抽象类都必须被abstract 修饰
    * 3、抽象类不可以被new 创建对象,因为调用抽象方法没意义
    * 4、抽象类中的方法要被使用,必须由子类复写其所有的抽象
    * 方法后,建议子类对象调用。如果子类只覆盖了部分抽象方法
    * 该子类还是一个抽象类。
    *
    * 抽象类和一般类没有太大的不同
    * 该如何描述事物,就如何描述事物。只不过该事物中出现了一些
    * 看不懂的东西,这些不确定的部分,也是该事物的功能,需要明确
    * 出现,但是无法定义主题
    *
    * 抽象类中比一般类多了个抽象函数,就是在类中可以定义抽象方法
    * 抽象类不可以贝实例化
    *
    * 特殊:抽象类中可以不定义抽象方法,这样做,仅仅是不让该类建立
    * 对象。
    */
    abstract class student
    {
        public abstract void study();
        public abstract void sleep();

    }
    class Basestudent extends student
    {
        public void study()
        {
            System.out.println("Base study");
        }
        public void sleep()
        {
            System.out.println("坐着睡");
        }
        public void eat()
        {
            System.out.println("坐着吃饭");
        }
    }

    class Advstudent extends student
    {
        public void study()
        {
            System.out.println("Adv study");
        }
        public void sleep()
        {
            System.out.println("躺着睡");
        }
    }

    class Dostudent
    {
        public void doSome(student stu)
        {
            stu.study();
            stu.sleep();
        }
    }
    public class DuoTaiDemo
    {
        public static void main(String [] args)
        {
            Dostudent ds = new Dostudent();
            ds.doSome(new Basestudent());
            ds.doSome(new Advstudent());
        }

    }

  • 相关阅读:
    shell & awk 变量传递
    ubuntu下SVN服务器安装配置
    zabbix客户端配置
    python操作Excel读写--使用xlrd
    Zabbix Agent-Windows平台配置指导
    centos6.5下Zabbix系列之Zabbix安装搭建及汉化
    Centos 下安装Zabbix Linux 客户端
    zabbix监控mysql主从复制
    Zabbix利用msmtp+mutt发送邮件报警
    vue props传数组爬坑
  • 原文地址:https://www.cnblogs.com/liupengcheng/p/3835807.html
Copyright © 2011-2022 走看看