Java 进阶P-5.3+P-5.4
2024-09-08 17:54:58
封装
增加可扩展性
可以运行的代码!=良好的代码
对代码做维护的时候最能看出代码的质量
如果想要增加一个方向,如down或up
用封装来降低耦合
Room类和Game类都有大量的代码和出口相关
尤其是Game类中大量使用了Room类的成员变量
类和类之间的关系称作耦合
耦合越低,保持距离是形成良好代码的关键
可扩展性
用接口来实现聚合
给Room类实现的新方法,把方向的细节彻底隐藏在Room类内部了
今后方向如何实现就和外部无关了
用容器来实现灵活性
Room的方法是成员变量表示的,增加或减少方向就要改变代码
如果用Hash表来表示方法,那么方向就不是"硬编码"的了
1,扩展性最低的就是把类都单独拿出来,没有继承什么,都是单个的类来实现作用,这种思维可扩展性最低。因为当添加一个类的时候,调用这个类的方法一定要重新编写,这样就造成扩展性的低下。
2;就是存在继承,利用父类引用指向子类对象,在调用方法的时候在去instance判断,来调用各自的方法;这样可扩展性提高了一点点,当添加新内容的时候只需要去修改一个那个判断类就ok了。但是可扩展性并不是最高的,为了提高可扩展性,Java引用的多态这一原则,
在一个方法的参数中定义父类的引用,然后实际当中传入的时候,传的是子类的对象,然后再在实际的方法里去判断属于哪个子类,再去调用其成员方法。
最新文章
- 上传图片shell绕过过滤的几种方法
- 分析‖为什么越来越多厂商开始发力VR一体机?
- 日期处理-将String 转为Date
- PHP通过文件存储来实现缓存
- Linux - Ubuntu下JDK配置
- springMVC导入excel案例poi
- Android_UI
- auto and static key words
- javascript遍历select下拉框判断其中值是否与指定值相等
- SQLSERVER如何导入数据保持ID不变(ID为自增主键)
- MDX 用Ancestors得到Hierarchy中指定Level的值(附带SCOPE用法之一)
- hdu2571 命运 简单DP
- tcpdump 命令详解
- dlib人脸关键点检测的模型分析与压缩
- cf1088C Ehab and a 2-operation task (构造)
- 将本地html文件拖到IE8浏览器无法打开,直接弹出一个下载的对话框
- java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentsIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModeStatPathAndBytesable;
- wpf 控件简单介绍
- 51nod P1305 Pairwise Sum and Divide ——思路题
- Ubuntu 18.04 安装 virtualbox