万物皆为对象

  所有编程语言都提供抽象机制。人们所能解决问题的复杂性直接取决于抽象的类型和质量。

  汇编语言是对底层机器的抽象。接着出现的“命令式”语言(如FORTRAN、BASIC、C等)都是对汇编语言的抽象。这些语言虽然在汇编语言的基础上有了很大的改进,但是这些语言所做的抽象仍要求在解决问题时要基于计算机的结构,而不是基于所要解决的问题的结构来考虑。程序员必须建立起在机器模型(位于“解空间”内)和实际待解问题的模型(位于“问题空间”)之间的关联。但是有时候很难建立这种映射,这使得程序难以编写,并且维护代价高昂。

  另一种对机器建模的方式是只针对待解问题建模。早期的编程语言,如LISP(所有的问题都是列表)和APL(所有问题都是算法形式的),都选择考虑世界的某些特定视图。但是一旦超出其特定领域,这些编程语言就力不从心了。

  OOP(object oriented programming)根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题,其具有如下特性:

  • 万物皆为对象
  • 程序是对象的集合,它们通过发送消息(某个特定对象的方法调用请求)来告知彼此所要做的
  • 每个对象都有自己的由其他对象所构成的存储
  • 每个对象都拥有其类型
  • 某一特定类型的所有对象都可以接受同样的消息

 

  

posted @ 2021-09-22 16:35  慕仙白  阅读(125)  评论(0编辑  收藏  举报