PHP面向对象程序设计的61条黄金法则   你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚.但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 . ----- Arthur J.Riel (1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝).相等性判断.正确输出内容.从ASCII描述解析等等]. (5)不要把实现细节…
摘取代码中变化的行为,形成接口 在设计基类的时候,如果该类某个成员方法在子类中的实现变化差别比较大(一部分子类实现该方法是相同的),作为基类有两个问题:一是该方法不再通用:二是子类如果重写该方法,存在代码重复的情况.如果只是把该方法设计成抽象方法,只能解决第一个问题,无法解决第二个问题.对于这类问题,最好的做法是把这种方法设计为接口. 多用组合,少用继承 针对第一条原则,把这种接口作为抽象类的属性,可以有效减少代码的冗余. 针对接口编程,不依赖于具体实现 如果对一个类型有依赖,应该尽量依赖接口,…
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/5 1/0 3 编译九九乘法表 第二周 100/10 2/0 4 第3章实验题四 第三周         第四周         第五周         第六周         第钱周         第八周         第九周         第十周         第十一周         第十二周…
2019面向对象程序设计(java)课程学习进度条 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 1 20/10 1/0 5 九九乘法表 2 200/40 2/4 8 第三章实验三,实验四: 第三章案例LotteryOdds.java 3 4 200/150 1/5 8 类包装以及用户自定义类的使用 5 400/150 1/1 8 pta编程题 6 500/150 1/1 8 7 600/200 1/1 8 实验二编程题 8…
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 1 25/10 1/0 6 编写九九乘法表 2 200/40 2/0 8 快捷键的学习,导入程序,练习读懂简单的 程序,明确java的完整框架 3   300/50           0/0   6  尝试编写从身份证号中输出年月日,StudentFile. 4    300/60           2/0       …
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 25/15 1/0 5 编译九九乘法表 第二周 100/25 2/0 5 1.导入程序,理解了String类对象和StringBuilder类对象的用法与区别. 2.通过实验4理解了Java中命令行参数的用法. 3.通过第二次实验我对JAVA的一些简单程序有了初步的理解. 第三周   第四周 120/50 2/0…
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 25/15 1/0 5 编译九九乘法表 第二周 100/40 3/0 6 1.导入程序, 2.理解了String类对象和StringBuilder类对象的用法与区别. 3.通过第二次实验我对JAVA的一些简单程序有了初步的理解. 4.学习了基础编程方法并加以利用. 第三周 第四周 第五周 第六周 第钱周 第八周 第…
61条面向对象设计的经验原则-<OOD启思录>Arthur J.Riel 原文 http://blog.csdn.net/cpluser/article/details/129291 61条面向对象设计的经验原则 摘抄自<OOD 启思录>--Arthur J.Riel 著 鲍志云 译 "你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚.但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起." ----------Arthur J.Riel (1)…
                                                                                                             <2018面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/博客评论量 课堂/课余学习时间(小时) 最满意的编程任务 第一周 70/40 1/0 4/2 实验一的每一个 第二周 80/50 1/0 4/11 实验二的验证实验 第三周 180/…
继承(inheritance)背后的核心思想是:       bonus = b;    }      } Java没有像C++那样提供多继承机制,但提供了接口机制,在后面我们将详细探究接口机制的实现. 2. Java 多态机制的具体实现: Java中的父类和子类之间的"is-a"关系可以用一个substitution principle(替代原则来描述).所谓"替代原则"是,在程序中任何一个期望出现父类对象地方都可以用一个子类对象 来代替! Employee e;…