本文转载自微信公众号「码个蛋」,作者陈宇明 。转载本文请联系码个蛋公众号。
代码
抽象基类
- public abstract class 英雄 {
- public abstract int 攻击()
- public abstract int 冷却()
- ........
- }
实现基类
- public class 李白 extends 英雄 {
- @Override
- public int 冷却(){
- return 5;
- }
- ........
- }
Buff 抽象类
- public abstract Buff extends 英雄 {
- public abstract int 攻击()
- public abstract int 冷却()
- ........
- }
不同 Buff 的实现类
- public 红buff extends Buff {
- private 英雄 英雄;
- public 红buff(英雄 英雄){
- this.英雄 = 英雄;
- }
- @Override
- public int 攻击() {
- return 英雄.攻击() + 红buff额外攻击;
- }
- .........
- }
- public 蓝buff extends Buff {
- private 英雄 英雄;
- public 蓝buff(英雄 英雄){
- this.英雄 = 英雄;
- }
- @Override
- public int 冷却() {
- return 英雄.冷却() + 蓝buff额外减少的冷却值;
- }
- .........
- }
客户端
- public class Client {
- public static void main(String[] args) {
- // 没有buff的英雄
- 英雄 无buff李白 = new 李白();
- // 打了红
- 红buff 红buff李白 = new 红buff(无buff李白);
- // 再来个篮
- 篮buff 红蓝buff李白 = new 篮buff(红buff李白);
- }
- }
注意:以上代码块用中文编写类名、变量名是为了让大家更好的理解,在实战过程中记得替换成相对应的英文。
总结
出自《Head first 设计模式》
1.如果此服务器是Windows2000ActiveDirectory域成员并且你不是域管理员,则请指...
本文转载自微信公众号「Java中文社群」,作者磊哥 。转载本文请联系Java中文社群...
作用域的概念 现代编程语言的最基本功能之一就是能够存储变量当中的值,以便于之...
公司简介 美甲帮是牧云网络旗下一款专注美甲行业的社区型垂直电商APP,其核心业...
介绍如何使用控制台来提交一个作业,目的是统计一个日志文件中 INFO 、 WARN 、 ...
今天扼要总结一个处理csv文件乱码问题,可能你有类似经历,用excel打开一个csv文...
您可以在控制台自助退回或者销毁不再使用的黑石物理服务器,退回或者销毁后数据...
11月20日,湖北省副省长曹广晶调研湖北省工业互联网展示体验中心(以下简称“展...
本文介绍使用云手机服务时需要了解的基本概念。 云手机 云手机是一台包含原生安...
一、面向对象 1.面向对象是在程序中使用对象来映射现实中的事物,对象的关系来描...