原标题:Java开始学习的阶段(11)
Alan Kay曾经总结了第一个成功的面向对象语言、同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了一种纯粹的面向对象程序设计方式:
1)万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽取待求解问题的任何概念化构件(狗、建筑物、服务等),将其表示为程序中的对象。
2)程序是对象的集合,它们通过发送消息来告知彼此所要做的。要想请求一个对象,就么
须对该对象发送一条消息。更具体地说,可以把消息想像为对某个特定对象的方法的调用请求。
3)每个对象都有自己的由其他对象所构成的存储。换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象。因此,可以在程序中构建复杂的体系,同时将其复杂性隐藏在对象的简单性背后。
4)每个对象都拥有其类型。按照通用的说法,“每个对象都是某个类(class)的一个实例(instance)”,这里“类”就是“类型”的同义词。每个类最重要的区别于其他类的特性就是“可以发送什么样的消息给它”。
5某一特定类型的所有对象都可以接收同样的消息。这是一句意味深长的表述,你在稍后便会看到。因为“圆形”类型的对象同时也是“几何形”类型的对象,所以一个“圆形”对等必定能够接受发送给“几何形”对象的消息。这意味着可以编写与“几何形”交互并自动处理念之一。
所有与几何形性质相关的事物的代码。这种可替代性(substitutability)是OOP中最强有力的微Booch 对对象提出了一个更加简洁的描述:对象具有状态、行为和标识。这意味着每一个对可以想有肉留教据,追句给出了该对象的状态)和方法(它们产生行为),就是每一个对象在内存中都有一个唯一的地址*
想要了解更多的知识评论区联系我
责任编辑: