• 多态(用继承)


    package com.qingfeng;
    /**
     *
     * @author Administrator
     *功能:多态:一个对引用(类型)在不同情况的不同状态  (关键父类的引用 方法的重写(覆盖))
     */
    public class Demo4_1 {

        public static void main(String[] args) {
            /*
            Animal an = new Cat();
            an.show();
            an = new Dog();
            an.show();*/
            
            Master master = new Master();
            master.feed(new Cat(), new Fish());
            master.feed(new Dog(), new Bone());
            
        }

    }

    class Animal
    {
        String name;
        int age;
        //generate Getters and Setters
        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 show()
        {
            System.out.println("我也不知道我是什么");
        }
        
    }

    class Cat extends Animal
    {
        String name;
        
        public void show()
        {
            System.out.println("我是猫猫!");
        }
    }

    class Dog extends Animal
    {
        String name;
        
        public void show()
        {
            System.out.println("我是狗狗!");
        }
    }

    class Food
    {
        String name;
        
        public void showFood()
        {
            
        }
    }
    class Fish extends Food
    {
        String name;
        
        public void showFood()
        {
            System.out.println("吃鱼");
        }
    }

    class Bone extends Food
    {
        String name;
        
        public void showFood()
        {
            System.out.println("吃骨头!");
        }
    }

    //运用多态 只用写一个方法即可  再增加子类对象 本方法不用改变,只需通过父类的引用即可~
    class Master
    {
        public void feed(Animal an, Food fo)
        {
            an.show();
            fo.showFood();
        }
    }



















  • 相关阅读:
    Android自注-15-Activity生命周期
    【v2.x OGE课程 15】 布局相关
    多线程——继承Thread类别
    Kivy A to Z -- Kivy 示例演示自带名单
    Android Training
    [TypeScript] Configuring a New TypeScript Project
    [TypeScript] Installing TypeScript and Running the TypeScript Compiler (tsc)
    [Redux] Fetching Data on Route Change
    [Redux] Wrapping dispatch() to Log Actions
    [Redux] Normalizing the State Shape
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6478992.html
Copyright © 2020-2023  润新知