- 继承 这个在实际应用中 也是使用的比较多的 继承是指子类可以拥有父类的属性. 通常一些公有的属性会被存放在一个类中 甚至会使用
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 这就是继承
例子是比较简单的
实际的项目开发中可能是会有多个继承的.
网友评论