Java 面向对象 之 多态实例1「建议收藏」

Java 面向对象 之 多态实例1「建议收藏」Java 面向对象 之 多态实例1

大家好,又见面了,我是你们的朋友全栈君。

转载于 : http://www.verejava.com/?id=16992843565554

/**
    题目: 孩子吃(苹果,葡萄,芒果)

    思路:
        1. 抽象出类 : 孩子(Baby), 苹果(Apple),葡萄(Grape)
        2. 找出类的关系: 苹果,葡萄 -> 孩子
        3. 找出属性: 孩子(姓名,苹果引用,葡萄引用)  苹果(名称)  葡萄(名称)
        4. 找出方法: 孩子吃(eat)苹果或者葡萄
*/
public class Polymorphism2 {

    public static void main(String[] args) {
        //实例化一个Baby
        Baby baby = new Baby("李明");

        //实例化一个苹果 和 一个葡萄
        Apple apple = new Apple("红富士");
        Grape grape = new Grape("黑葡萄");
        Mango mango = new Mango("大芒果");

        //李明吃苹果和葡萄
        baby.eat(apple);
        System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getApple().getName());
        baby.eat(grape);
        System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getGrape().getName());
        baby.eat(mango);
        System.out.println(baby.getName() + " 高兴的说我吃了 " + baby.getMango().getName());

    }
}

class Baby {

    private Apple apple;
    private Grape grape;
    private Mango mango;
    private String name;

    public Baby(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public Apple getApple() {
        return this.apple;
    }

    public Grape getGrape() {
        return this.grape;
    }

    public Mango getMango() {
        return this.mango;
    }

    //吃苹果
    public void eat(Apple apple) {
        this.apple = apple;
    }

    //吃葡萄
    public void eat(Grape grape) {
        this.grape = grape;
    }

    //吃芒果
    public void eat(Mango mango) {
        this.mango = mango;
    }

}

class Apple {

    private String name;

    public Apple(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
}

class Grape {

    private String name;

    public Grape(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

}

class Mango {

    private String name;

    public Mango(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

}

转载于 : http://www.verejava.com/?id=16992843565554

转载于:https://blog.51cto.com/11842410/2168970

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107335.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • offes破解2022激活码(注册激活)「建议收藏」

    (offes破解2022激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    88
  • ag-grid 设置单元格以及行的颜色

    ag-grid 设置单元格以及行的颜色在使用ag-grid的时候有通过单元格的值设置不同行颜色,然后百度了网上的方法,汇总了一下,具体效果图如下:话不多说,直接上代码。<!doctypehtml><html><head><metacharset=”utf-8″><metaname=”viewport”content=”width=device-width,initial-scale=1,shrink…

    2022年7月11日
    21
  • Linux学习——磁盘管理、用户管理、权限管理命令

    一:磁盘管理 df 查看磁盘大小 –h 1024 –H 1000 du 统计磁盘上文件的大小 — du -s /目录 — -h 1024显示二:用户管理 1 Linux中用户和用户组的概念 用户:使用操作系统的人,可以有很多的用户,运行多个用户同时操作一个系统 用户组:具有相同系统权限的一

    2022年2月26日
    40
  • 如何远程连接树莓派_树莓派远程连接密码错误

    如何远程连接树莓派_树莓派远程连接密码错误PyCharm远程连接树莓派我听说有些人很刚,直接用树莓派连接显示器写代码,在下实在佩服。树莓派4B已经出来,估计这个方式能接受。只有树莓派3B的我,只能想办法远程连接一下了。1、树莓派接入网络其实就是插上网线,让树莓派和你的电脑在同一局域网内。说白了,就是插在同一个路由器上。2、配置PyCharm树莓派接入网络以后,其实你可以用XShell来写代码,但是我等新手,想用PyCharm怎…

    2022年8月28日
    1
  • 电脑锁屏时钟屏保_翻页时钟怎么设置在手机锁屏

    电脑锁屏时钟屏保_翻页时钟怎么设置在手机锁屏资源链接fliqlo说明:1、简约朴素的电脑屏保,锁屏后呈现翻页时钟效果;2、支持window、mac;效果…

    2022年9月29日
    0
  • html中表单的校验的插件,jquery表单验证插件validationEngine「建议收藏」

    html中表单的校验的插件,jquery表单验证插件validationEngine「建议收藏」插件的特色:封装强悍、例子充足(基本都验证类型都被囊括)、调用轻便注意事项:1.演示版本为v2.2.4;2.v2.0以下的版本参数并不完全通用;对validationEngine.jquery.css文件进行修改,修改如下:1.提示内容字体改为宋体;2.去除中各浏览器的私有属性(各浏览器已经支持圆角和阴影,不再需要加私有属性)。对jquery.validationEngine.js文件…

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号