Java语言的五个基本特性

本文深入解读Alan Kay总结的Smalltalk语言的五个核心特性:万物皆对象、消息传递、自包含对象、类型与继承、对象替代性。揭示了面向对象编程的纯正实践方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Alan Kay曾经总结了第一个成功的面向对象语言,同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了一种纯粹的面向对象的程序设计方式:

(1)万物皆为对象。将对象作为一个奇特的变量,它可以存储数据。

(2)程序是对象的集合,他们通过发送消息来告知彼此所要做的。要想请求一个对象,就必须对该对象发送一条消息。更具体地说,可以把消息想象为某个特定对象方法的调用请求。

(3)每个对象都有自己的由其他对象所构成的存储。换句话说,可以通过创建包含包含现有对象的包的方式来创建新类型的对象。因此,可以在程序中构建复杂的体系,同时将其复杂性隐藏在对象的简单性被狗。

(4)每个对象都有其类型。“每个对象都是某个类(class)的实例”,这里“类”是“类型”的意思。每个类最重要的区别于其他类的特性就是:可以发送什么样的消息给他。

(5)某一特定类型的所有对象都可以接受同样的消息。即“圆形”类型的对象同时也是“几何形"类型的对象,所以一个“圆形”对象必定能够接收发送给“几何形”对象的消息。这意味着可以编写与“几何形”交互并自动处理所有与几何形性质相关的事物的代码。这种可替代性是OOP中最强有力的概念之一。

对象具有状态,行为和标识。这意味着每一个对象都可以拥有内部数据和方法,并且每一个对象都i可以唯一地与其他对象区分开来,具体来说,就是每一个对象在内存中都有一个唯一的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值