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)//给猫喂鱼
        }
    }

  • 相关阅读:
    shell脚本中执行python脚本并接收其返回值的例子
    linux查找所有文件中某个字符串
    Shell脚本中单引号(‘)和双引号(“)的使用区别
    第一个shell脚本
    shell 比较符号
    source ~/.bash_profile是什么意思
    bash shell:获取当前脚本的绝对路径(pwd/readlink)
    poj 3307 Smart Sister 打表解因子生成数问题
    Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
    UISegmentedControl的具体使用
  • 原文地址:https://www.cnblogs.com/javaitpx/p/2769318.html
Copyright © 2011-2022 走看看