抽象的进步

作者: Dl_毛良伟 | 来源:发表于2017-10-09 21:37 被阅读5次

为机器建模的另一个方法是为要解决的问题制作模型。

Alan Kay总结了Smalltalk的五大基本特征。这是第一种成功的面向对象程序设计语言,也是Java的基础语言。通过这些特征,我们可理解“纯粹”的面向对象程序设计方法是什么样的:

  • 所有的都东西都是对象,可将对象想象成一种的新型的变量,它保存这数据,但可以要求它对自己进行操作,理论上讲,可从 要解决问题的身上提出所有概念性的组件,然后在程序中将其表达为一个对象。
  • 程序是一大堆对象的组合,通过消息传递,各对象知道自己该做什么,为了向对象发出请求,需要那个对象发出一条“消息”。更具体的讲可将消息想象为一个调用请求,它调用的是从目标对象的一个子例程或函数。
  • 每个对象都有自己的存储空间,可容纳其它对象,或者说,通过封装现有对象,可以制造出新型对象,所以尽管对象的概念非常简单,但在程序中却可以达到任意高的复杂度。
  • 每个对象都是一种类型。根据语法,每个对象都是某个“类”的一个“实例”,其中,“类”(Class)是“类型”(Type)的同义词。一个类最重要的特征就是“能将什么消息发给它?”。
  • 同一类所有对象都能接收相同的消息。这实际是别有含义的一种说法,大家不久便能理解。由于类型为“圆”(Circle)的一个对象也属于类型为“形状”(Shape)的一个对象,所以一个圆完全能接收形状消息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。这一特性称为对象的“可替换性”,是OOP最重要的概念之一。

相关文章

  • 抽象的进步

    为机器建模的另一个方法是为要解决的问题制作模型。 Alan Kay总结了Smalltalk的五大基本特征。这是第一...

  • 1.1 抽象的进步

    所有编程语言的最终目的都是提供一种“抽象”方法。一种较有争议的说法是:解决问题的复杂程度直接取决于抽象的种类及质量...

  • 【读书清单】心情快乐体操(7)

    主题:以进步论成功 ① 成功是无数“小进步”的日积月累。 ② 我们追求进步,最好先能明确进步是什么。如果将抽象的“...

  • 第一章

    抽象的进步 所有编程语言的最终目的都是提供一种“抽象”方法。其中有一种说法是:解决问题的复杂程度直接取决于抽象的种...

  • Java 基础(一)重新理解面向对象

    抽象的进步 汇编语言对基础机器的少量抽象;命令式语言是对汇编语言的一种抽象; 对象的五大基本特征 所有的东西都是对...

  • 非功利性阅读的意义

    孩子,你要知道,文字是人类非常伟大的发明,这种抽象符号的出现,曾经突破性地推进了人类文明的进步。再也没有比抽象符号...

  • 1.0版反思

    三天,有进步吗?有进步多少?不知道有哪些进步?不清楚 思维是一个抽象的东西,看不见,摸不美,如果没有细品,还真感觉...

  • 抽象抽象再抽象

    抽象 继承 单一原则 面向扩展开放,面向修改关闭 控制反转,依赖注入 里氏替换原则 单一职责原则开放封闭原则里氏替...

  • 如何取得真实的进步

    要想取得真实的进步,肯定是对真实的世界进行更高一层的抽象。 学习知识并不能进步,最多和别人站在同一高度而已。 实践...

  • 每天学习两小时,坚持带来大改变

    剽悍晨读的口号是每天进步一点点,坚持带来大改变。进步这个词非常抽象,结合到具体实践就是每天学习两小时。为什么呢?因...

网友评论

    本文标题:抽象的进步

    本文链接:https://www.haomeiwen.com/subject/hzeyyxtx.html