zoukankan      html  css  js  c++  java
  • 多态的概念

    多态的概念

    //多态:一个引用(类型)在不同情况下的多种状态
    
    //多态:是指通过父类的指针,来调用在不同子类中实现的方法
    
     
    
    public class多态 {
    
        public static void main(String[] args) {
    
            //里氏替换原则
    
            //父类的引用类型实例化子类对象
    
    //        Animal1 s=new Cat1();
    
    //        s.cry();
    
    //        s=new Dog1();
    
    //        s.cry();
    
            Master master=new Master();
    
            master.feed(new Dog1(), new Bone());
    
        }
    
    }
    
    //主人类
    
    class Master{
    
        //给动物喂食物,使用多态,用一个方法就可以(不管有多少个动物)
    
        public void feed(Animal1 an,Food f){
    
            an.eat();
    
            f.showName();
    
        }
    
    }
    
    //动物类
    
    class Animal1{
    
        String name;
    
        int age;
    
        //自动生成:右键>>source>>找到get和set
    
        public String getName() {
    
            return name;
    
        }
    
        public void setName(String name) {
    
            this.name = name;
    
        }
    
        public int getAge() {
    
            return age;
    
        }
    
        public void setAge(int age) {
    
            this.age = age;
    
        }
    
        public void cry(){
    
            System.out.println("动物叫声");
    
        }
    
        public void eat(){
    
        }
    
    }
    
    class Cat1 extends Animal1{
    
        public void cry(){
    
            System.out.println("猫叫声");
    
        }
    
        public void eat(){
    
            System.out.println("猫吃鱼");
    
        }
    
    }
    
    class Dog1 extends Animal1{
    
        public void cry(){
    
            System.out.println("狗叫声");
    
        }    
    
        public void eat(){
    
            System.out.println("狗吃骨头");
    
        }
    
    }
    
    //食物类
    
    class Food{
    
        String name;
    
        public void showName(){    
    
        }
    
    }
    
    class Fish extends Food{
    
        public void showName(){
    
            System.out.println("鱼");
    
        }
    
    }
    
    class Bone extends Food{
    
        public void showName(){
    
            System.out.println("骨头");
    
        }
    
    }
  • 相关阅读:
    软件需求变更管理
    Flex自定义事件
    Flex基础控件Button
    Ext JS高级程序设计》即将隆重上市(预计上市时间:091115)
    迈向工程硕士
    Flex基础控件ComboBox
    ExtJS 4 Beta 2预览:Ext.Brew包
    ExtJS 4 Grid组件
    REST WebService与SOAP WebService的比较
    Step by Step WebMatrix网站开发之一:Webmatrix安装
  • 原文地址:https://www.cnblogs.com/xdzy/p/9467724.html
Copyright © 2011-2022 走看看