**

P78-P79(城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量):

**

    • P78-P79(城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量):
  • 一、评判一个好的代码?
  • 二、封装来降低耦合
    • 耦合是什么?
    • 封装是什么?
  • 三、城堡游戏代码修改
    • 修改:StringBuffer
      • 什么是 StringBuffer ?
      • 什么时候用 StringBuffer ?

一、评判一个好的代码?

  • 这个代码是否适应于将来的需要
  • 是否适合于扩展
  • 是否有可扩展性(可扩展性:将来有什么新东西要加进来的时候,代码是否可以很大程度上保持不变,以不变应万变)

二、封装来降低耦合

耦合是什么?

  • 耦合指的是类和类之间的关系,类与类之间、对象与对象之间对彼此的认识越浅越好

    封装是什么?

  • 前面有 private 修饰的【属性】或者是【方法】,不能【直接】被外部类的实例化对象访问,这样就是封装。

  • 适当的封装可以让代码更容易理解和维护,也加强了代码的安全性。

  • 尽量的让成员变量是 private,万不得已再 public

三、城堡游戏代码修改

  • 用 String 类型的变量这样子一直加加加,因为对系统的开销会很大(String 这种类型的对象,你没有办法对它做修改,每一次的 += 都会产生一个新的 String 类型的对象)

修改:StringBuffer

什么是 StringBuffer ?

StringBuffer 是动态字符串数组,长度和内容可变。String是不可变对象。

什么时候用 StringBuffer ?

当我们需要采用很多复杂的字符串的操作去产生一个结果字符串的时候,一般用 StringBuffer,而不用 String。

P78-P79:城堡游戏代码修改:StringBuffer、封装来降低耦合、代码质量、StringBuffer相关推荐

  1. 18.3.7 第5周 设计原则 5.1城堡游戏+5.2消除代码赋值+5.3封装

    首先贴出未修改的代码 Game.java package castle;import java.util.Scanner;public class Game {private Room current ...

  2. am335x UART1输入u-boot 调试信息代码修改

    AM335x 调试信息UART1输出代码修改 1. 关于pin_mux  的配置 代码修改位置: /board/forlinx/ok335x/mux.c 1 void enable_uart0_pin ...

  3. Java设计原则3—城堡游戏之可扩展性

    什么叫可扩展性? 可扩展性的意思就是代码的某些部分不需要经过修改就能适应将来可能的变化. 比如:现在要给城堡游戏中添加up和down两个方向,该怎么做呢? 这就要基于设计的城堡游戏中,在Java设计原 ...

  4. 【Java】《面向对象程序设计——Java语言》Castle代码修改整理

    前言 最近闲来无事刷刷MOOC,找到以前看的浙大翁凯老师的<面向对象程序设计--Java语言>课程,重新过一遍仍觉受益颇深. 其中有一个Castle的例子,思路很Nice但代码很烂,翁凯老 ...

  5. 翁恺老师 | 城堡游戏解读

    这是我自己对城堡游戏的解读,解读后自己才不会囫囵吞枣地假装自己懂了. 城堡游戏是一个根据目前所处的房间与方向,来指明下一步所处位置与出口的小游戏. 翁恺老师讲课的精妙之处在于,从最简单也最缺乏设计感的 ...

  6. JAVA学习之路-简单的城堡游戏(一)

    简单的文字城堡游戏(一) 最近在学习后台的一些功能,发现自己的基础不是很牢固,所以想写点小程序,巩固一下以前学的知识,融合一下. 之前在慕课上学的课程中就有一个这样的小程序,写一个简单的文字城堡游戏. ...

  7. [翁恺老师 城堡游戏(无bug

    @[翁恺老师 城堡游戏(无bug) ]( Game.java类 package Castle; /***注意,这里的package 你们自己记得修改import java.util.*;public ...

  8. 【术】游戏内存修改器原理及游戏敏感数值加密建议

    介绍市面上主流游戏内存修改器的原理,对症下药,让游戏从数据加密层面上更好的抵御这类内存修改器. 主流游戏内存修改器有三大内存搜索功能: 1. 基础数值搜索 2. 模糊搜索 3. 反加密搜索 基础数值搜 ...

  9. .net MySQL事物_在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装...

    导言: 正如我们在第16章<概述插入.更新和删除数据>里探讨的那样,GridView控件内建的功能支持对每行数据的编辑和删除功能,你只需要稍稍动一下鼠标就可以创建丰富的数据修改界面而不用写 ...

最新文章

  1. Ubuntu 13.10下安装ns2 2.35遇到的小问题
  2. 手机怎么下载python并安装-Python入门【1】Python下载安装,这几步你要了解
  3. boot jpa mysql postman spring_听说过spring-data-jdbc么?来个最佳实践
  4. arrayfunction[LeetCode]Convert Sorted Array to Binary Search Tree
  5. x86上的Java最终字段没有操作?
  6. python项目管理器 宝塔面板 django 404_宝塔面板成功部署Django项目流程(图文)
  7. linux下的RPC
  8. SFTP多用户权限 linux环境 一站式解决方案
  9. Unity3D ARPG网络游戏编程实践
  10. pyqt界面语言中英文转换
  11. 异或鉴相器 matlab 数字鉴相器,一种异或门鉴相器的制作方法
  12. 基于stm32单片机的按键智能电子密码锁(源码+仿真+原理图+PCB+参考论文)
  13. 【C】C语言int型数组转化为char型字符串数组
  14. 亚马逊云科技荣获2021中国公有云平台用户满意度第一
  15. 手把手教你如何通过OAuth2.0新浪开放平台认证新浪用户-java
  16. 第03课:如何快速构建自己的ChatGPT应用?
  17. Cadence Allegro 如何制作表贴焊盘
  18. java一键配置环境_JDK一键安装,配置环境
  19. Web漏洞-XXE漏洞(详细)
  20. 奥数-------i3*6528=3i*8256 让我们猜猜i的值

热门文章

  1. 网络安全工程师应该具备哪些职业技能?
  2. 二值图像的连通分量提取
  3. 个人学习笔记——庄懂的技术美术入门课(美术向)08
  4. 2019肇庆学院“菜鸟杯“程序设计竞赛题解
  5. 专访蒋宇捷:技术管理者应具备哪些能力?(转载)
  6. execl execv
  7. Docker和LXC简介
  8. 音视频传输:RTP协议详解和H.264打包方案
  9. 电脑开机后卡死,桌面图标点了没反应怎么办
  10. Android函数响应式编程——必学的RxJava变换操作符map、flatMap、cast、concatMap、flatMapIterable、buffer、groupBy