我们之所以将自自然界分解,组织成各种概念,并按其含义分类,主要是因为我们是整个口语交流社会共同遵守的协定的参与者,这个协定以语言的形式固定下来……除非赞成这个协定中的规定的有关语言信息的组织和分类,否则我们根本无法交谈。
——Benjamin Lee Whorf(1897~1941)
*面向对象程序设计(Object-oriented Programmering,OOP)。
*所有的编程语言都提供抽象机制,所谓的“类型”是指“所抽象的是什么”。
*程序员必须建立起在机器模型(位于“解空间”内,这是你对问题建模的地方,例如计算机)和实际待解决问题的模型(位于“问题空间”内,这是问题存在的地方,例如一项业务)之间的关联。
*Smalltalk五个基本特征:
1)万物皆为对象。
2)程序是对象的集合,他们通过发送消息来告知彼此所要做的。
3)每个对象都有自己的有其他对象所构成的存储。
4)每个对象拥有其类型。
5)某个特定类型的所有对象都可以接收同样的消息。
*Java用三个关键字在类内部设定边界:public,private,protected。还有一种默认的访问权限,叫做包访问权限。
*有两种方法可以使基类与导出类产生差异
1)直接在导出类中添加新方法。
2)用覆盖(overriding)改变现有基类的方法。
*把导出类看做是它基类的过程称为向上转型
*单根继承,所有的对象都具有一个公共接口。