zoukankan      html  css  js  c++  java
  • 一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处

    package com.softeem.demo;

    /**
     *@author leno
     *动物的接口
     */
    interface Animal {
        public void eat(Food food);
    }

    /**
     *@author leno
     *一种动物类:猫
     */
    class Cat implements Animal {
        public void eat(Food food) {
            System.out.println("小猫吃" + food.getName());
        }
    }

    /**
     *@author leno
     *一种动物类:狗
     */
    class Dog implements Animal {
        public void eat(Food food) {
            System.out.println("小狗啃" + food.getName());
        }
    }

    /**
     *@author leno
     *食物抽象类
     */
    abstract class Food {
        protected String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
     *@author leno
     *一种食物类:鱼
     */
    class Fish extends Food {
        public Fish(String name) {
            this.name = name;
        }
    }

    /**
     *@author leno
     *一种食物类:骨头
     */
    class Bone extends Food {
        public Bone(String name) {
            this.name = name;
        }
    }

    /**
     *@author leno
     *饲养员类
     *广州达内科技http://www.gztarena.com/
     */
    class Feeder {
        /**
         *饲养员给某种动物喂某种食物
         *@param animal
         *@param food
         */
        public void feed(Animal animal, Food food) {
            animal.eat(food);
        }
    }

    /**
     *@author leno
     *测试饲养员给动物喂食物
     */
    public class TestFeeder {
        public static void main(String[] args) {
            Feeder feeder = new Feeder();
            Animal animal = new Dog();
            Food food = new Bone("肉骨头");
            feeder.feed(animal, food)//给狗喂肉骨头
            animal = new Cat();
            food = new Fish("鱼");
            feeder.feed(animal, food)//给猫喂鱼
        }
    }

  • 相关阅读:
    php实现base64图片上传方式实例代码
    Html5 js FileReader接口
    获取月份
    JS实现双击编辑可修改
    SimpleMDE编辑器 + 提取HTML + 美化输出
    基于visual Studio2013解决C语言竞赛题之0608水仙花函数
    基于visual Studio2013解决C语言竞赛题之0607strcpy
    基于visual Studio2013解决C语言竞赛题之0605strcat
    android --静默安装
    基于visual Studio2013解决C语言竞赛题之0604二维数组置换
  • 原文地址:https://www.cnblogs.com/javaitpx/p/2769318.html
Copyright © 2011-2022 走看看