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("骨头");
    
        }
    
    }
  • 相关阅读:
    LaTeX入门
    用jdom来解析xml文件小Demo
    Java乔晓松基于注解的面向AOP(切面)编程
    三层架构实战篇—系统登录实例
    selenium ide插件介绍
    WPF17行为(以控件在界面拖动为例)
    火狐浏览器显示“已阻止载入混合活动内容“的解决方法
    博客园—打赏功能
    网页返回顶部的几种方法
    自定义美化博客园
  • 原文地址:https://www.cnblogs.com/xdzy/p/9467724.html
Copyright © 2011-2022 走看看