美文网首页
如何让女朋友理解 java中的继承

如何让女朋友理解 java中的继承

作者: e5d2c7f0a5c4 | 来源:发表于2019-02-20 14:15 被阅读0次
    • 继承 这个在实际应用中 也是使用的比较多的 继承是指子类可以拥有父类的属性. 通常一些公有的属性会被存放在一个类中 甚至会使用final关键字 然后子类可以直接使用父类中的属性.

    举个例子来说:

    我们在选择好英雄之后,会进行铭文的选择. 而一大堆的铭文是分很多种类的

    image

    有的是增加物理攻击的 有的是增加护甲的 有的是增加法强的.
    不像英雄一样 都有攻击力 法强 护甲等 所以就不能通过一个Class来描述了.
    我们可以先来尝试建立两个class
    一个是增加攻击力的铭文 物理攻击铭文
    一个是增加法强的铭文 法强铭文

    package com.emp.usercenter.pc.test;
    
    /**
     * @author employeeeee
     * @Descriotion:
     * @date 2019/2/20 14:02
     */
    public class RuneA {
        private String name;
        private int price;
        private int physicProperty;
    
    }
    
    
    package com.emp.usercenter.pc.test;
    
    /**
     * @author employeeeee
     * @Descriotion:
     * @date 2019/2/20 14:05
     */
    public class RuneB {
        private String name;
        private int price;
        private int magicProperty;
    
    }
    
    

    我们可以看到 这两种铭文虽然是不同的属性 但是他们是有相同的属性的 就是名字和价格
    那么如果有很多种 种类的铭文出现的话 我们每次都要这样定义就是很麻烦的
    所以我们先定义一个铭文类,让其它的不同种类的铭文来继承这个类

    package com.emp.usercenter.pc.test;
    
    /**
     * @author employeeeee
     * @Descriotion:
     * @date 2019/2/20 14:08
     */
    public class RuneBasic {
        private String name;
        private int price;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getPrice() {
            return price;
        }
    
        public void setPrice(int price) {
            this.price = price;
        }
    }
    

    这样物理攻击符文就可以这样定义

    package com.emp.usercenter.pc.test;
    
    /**
     * @author employeeeee
     * @Descriotion:
     * @date 2019/2/20 14:02
     */
    public class RuneA extends RuneBasic{
    
        private int physicProperty;
    
    }
    

    看起来是不是简洁多了 然后我们来做一个测试 看一看物理攻击符文是否继承了这两个属性

    package com.emp.usercenter.pc.test;
    
    /**
     * @author employeeeee
     * @Descriotion:
     * @date 2019/2/20 14:10
     */
    public class test {
        public static void main(String[] args) {
            RuneA a = new RuneA();
            a.setName("我是一个攻击铭文");
            a.setPrice(40);
            a.setPhysicProperty(3);
        }
    }
    

    可以看到是可以给物理铭文赋值名字和价格属性的.
    这样 我们就定义了一个新的物理攻击铭文A 这就是继承
    例子是比较简单的
    实际的项目开发中可能是会有多个继承的.

    相关文章

      网友评论

          本文标题:如何让女朋友理解 java中的继承

          本文链接:https://www.haomeiwen.com/subject/bmchyqtx.html