《编程导论(Java)》格言录

★的后面重要言论/建议/格言……

★计算机软件开发的核心有二:程序的组织(面向对象技术)、问题求解(算法)。

柏拉图法则:类的世界独立存在,对象世界由类创建而来。

★面向对象技术通过颠倒的理念世界而模拟唯物的真实世界。

★我服务故我在。

★Learning by doing.

★计算就是模拟——艾伦·凯(Alan Curtis Kay)

★程序必须是写给人读的,仅仅偶尔让机器执行——Abelson andSussman[1]

★Any fool can write codethat a computer can understand. Good programmers write code that humans canunderstand——Martin Fowler

★如果方法的参数都是可以直接给定而不需要访问某个对象的数据时,把它设计成静态方法。

★子类型是一个父类型。

★子类型(的对象必须)能够替代其父类型——里氏替换原则。

★多态 =向上造型+方法改写(编程技巧)。

★改写父类的方法时,坚持使用@Override。

★子类继承其父类的所有可访问的成员。

★设计上,代码向上集中。

★作为复用机制,委派优先于继承。——《设计模式》

★多态 =多态变量 + 动态绑定(系统机制)。

★用户仅需要了解接口——Parnas原则。

★Software entities (classes ,modules,functions,,etc.) should be open for extension,but closed for modification.一个软件实体(类、模块、函数等等)应对扩展开放,对修改关闭。OCP

★编程困难,不是因为写不出来,而是因为讲不清楚。

★以private修饰所有的成员变量(Make all Member Variables private.)。

★以private修饰任一助手方法。(Make any helper methods private)。

★数据向下集中。

★Favor polymorphic composition of objects overinheritance.优先使用对象的多态组合,而不是类继承。——《设计模式》

★优先使用标准库的异常。

★不要在finally子句中使用return、continue或 break。

★回调通常指可以被作为参数传递给其他代码的可执行代码块,或者一个可执行代码的引用。

★First learn computer science and all the theory. Nextdevelop a programming style. Then forget all that and just hack.——George Carrette。


[1] 网络搜索:101 MoreGreat Computer Quotes。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 21:47:32

《编程导论(Java)》格言录的相关文章

《编程导论(Java)·2.1.3改写(override)》

<编程导论(Java)·2.1.3改写(override)>,收集override内容. 方法改写(method overriding)是指对于父类定义的一个实例方法,同意子类提供自己的实现的一种语言特性.子类的实现将改写(override)或代替(replace)父类中的实现. 改写成功必须"同一时候"满足下列条件. 两者的方法签名全然同样. 方法签名(signature)指一个方法的名字和形參列表.a method's signature is its name and

《编程导论(Java)&amp;#183;3.3.2 按值传递语义》

不要受<Java编程思想>的影响,计算机科学中的术语--按引用传递(pass-by-reference).不要搞成自说自话的个人用语. 这些术语也不是专门针对Java的,你不应该从某一本Java书上学习 不可以用于C.C++或Fortran语言的 特殊的"按引用传递". 验证按值传递很easy.在方法体中使用一个赋值语句,将形參作为左值. 按值传递时,对形參的赋值,不会影响实參.也就是说.那个赋值语句不会有不论什么副作用. 对于foo(A a),注意方法体中你要玩的是 a=

《编程导论(Java)&#183;1.1.2 颠倒的世界(柏拉图法则)》

<编程导论(Java)>将Plato法则.Liskov原则和Parnas原则作为面向对象编程范式的三大基石. 面向对象范式的第一原则,yqj2065称之为柏拉图法则,它是对象技术的观念范式和心理范式的根源,对象技术是通过颠倒的理念世界而模拟唯物的真实世界. ★柏拉图法则:类的世界独立存在,对象世界由类创建而来. 虽然有人认为,这一原则非常自然,没有必要提出和强调,但是,我发现,对这一原则的理解和接纳程度,决定了你对面向对象的领悟程度. 提出的依据: 1.对象(object)是一个具有浓郁的哲学

《编程导论(Java)&amp;#183;3.2.4 循环语句》

本文全然复制<编程导论(Java)·3.2.4 循环语句>的内容.除[]中的说明文字.请阅读和比較其它编程教材. 我知道.假设我是一个刚開始学习的人,<编程导论(Java)>非常不适合自学.建议同学们阅读时,一定选择一本其它的书同一时候看,或上网. ,由于太一般或简单的内容.或我不想留在书中占用篇幅的东西,都省略了. 毕竟,网络上相关的一般描写叙述的内容.大把大把. 卓别林在<摩登时代>中.说明流水线上的工人在高强度下重复运行同一个动作是多么令人郁闷.然而循环/迭代(l

《编程导论(Java)&#183;1.4.1 范式》

这个楼主,是我的学生么?2013年写的! 嗯,"编程范式也许是学习任何一门编程语言时要理解的最重要的术语".这句话早在2005年出版<Java程序设计>(宋中山,严千钧编著,清华大学出版社)中写过.但是, "托马斯.库恩提出"科学的革命"的范式论之后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP为例:.....",好像在<编程导论(Java)>出版之前,仅仅在

《编程导论(Java)&#183;3.2.4 循环语句》

本文完全复制<编程导论(Java)·3.2.4 循环语句>的内容,除[]中的说明文字.请阅读和比较其他编程教材. 我知道,如果我是一个初学者,<编程导论(Java)>很不适合自学.建议同学们阅读时,一定选择一本其他的书同时看,或上网.,因为太一般或简单的内容.或我不想留在书中占用篇幅的东西,都省略了.毕竟,网络上相关的一般描述的内容,大把大把. 卓别林在<摩登时代>中,说明流水线上的工人在高强度下反复执行同一个动作是多么令人郁闷.然而循环/迭代(loop/iterati

《编程导论(Java)&#183;2.2.3 变量的声明模型》

PL4 声明模型(绑定.可见性.作用域和生命期) 1. 变量的含义 在编程语言的教学中,yqj2065经常困惑:是否应该使用比喻--例如将变量比喻成数学中的变量概念.不知道从哪位老先生开始,有这样的说法:"不同于常量,变量的值是可以改变的".如果你是我的学生,也这样说,嗯,你过来,我保证不打死你. 在汇编语言中,程序员就开始使用变量例如AX.BX以表示操作数的存放地址,而该地址中保存实际的值.变量(variable)表示一个存储场所,是源代码中保存值的符号化地址. 请记住变量和值的区别

《编程导论(Java)&amp;#183;1.4.1 范式》

这个楼主,是我的学生么?2013年写的! 嗯."编程范式或许是学习不论什么一门编程语言时要理解的最重要的术语".这句话早在2005年出版<Java程序设计>(宋中山,严千钧编著,清华大学出版社)中写过. 可是, "托马斯.库恩提出"科学的革命"的范式论之后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包含三个方面,以OOP为例:.....",好像在<编程导论(Java)>出版之前.

《编程导论(Java)&amp;#183;2.1.2 啊,我看到了多态》-什么是多态(polymorphism)

1.不明觉厉 很多人学习多态时,会认为. 之所以不明觉厉,由于多态的定义:事物存在的多种表现形态:而后,有人将重载(overload).改写(override).多态变量和泛型归结于同一个术语"多态"之下.比如:Polymorphism (computer science) yqj2065觉得:[(前言 page VII)好像孔乙己说"多态这个字有4种写法"一样,除了凸显多态这一术语比較多态外,并没有理论意义和教学意义,因而本书使用了一个标题--"2.1.

《编程导论(Java)&amp;#183;4.1数据抽象的含义》

You have no choice about the necessity to integrateyour observations, your experiences, your knowledge into abstractideas, i.e., into principles. --Ayn Rand, <Philosophy: Who Needs It> 1974 数据抽象(Data abstraction)是将数据类型的抽象特征与事实上现的详细细节清晰地分离. 当中数据类型的&q