美文网首页
第一章《对象导论》

第一章《对象导论》

作者: 意大利大炮 | 来源:发表于2018-04-05 10:12 被阅读0次

    抽象过程

    • 概念
          所有编程语言都提供抽象机制,人们所能解决问题的复杂性直接取决于抽象的类型和质量。这里类型指的是抽象的是什么
    • 应用历程
          大致分为以下几个
      • 汇编语言
            汇编语言是对底层机器的轻微抽象。
      • 所谓“命令式“语言
            对汇编语言的抽象,但他所做的抽象要求在解决问题是要基于计算机的结构,而不是基于要解决的问题的结构来考虑。
            程序员需要建立起在“机器模型”和“实际待解问题的模型”之间的关联。
            解问题是指位于“解空间”内,对问题建模的地方,例如计算机。
            实际待解问题的模型是指位于“问题空间之内,也就是问题存在的地方,例如一项业务”。
      • 早期编程语言
            只针对解问题建模,例如LISP与APL,考虑世界的某些特定视图。PROLOG则将所有问题都转换为决策链。
      • 面向对象方式编程语言
            将问题空间之中的元素及其在解空间中的表示称之为“对象”。
            面向对象方式通过向程序员提供“表示问题空间中的元素的工具”而更近了一步。
            这种思想的实质是:程序员可以通过添加新类型的对象使自身适用于某个特定给的问题。
    • Smalltalk的五个基本特性
      1. 万物皆为对象
            将对象视为奇特的变量,他可以存储数据,还可以在自身上执行操作。理论上可以将带求解问题的任何概念化构建表示为对象。
      2. 程序是对象的集合,他们通过发送消息来告知彼此所要做的
            要想请求一个对象,就必须对该对象发送一个消息。可以把消息想想为对某个特定对象的方法的调用请求。
      3. 每个对象都有自己的有其他对象所构成的存储
            换句话说,可以通过创建包含现有对象的包的方式来创建新类型的对象。
      4. 每个对象都拥有其类型
             每个对象都是某个类(class)的一个实例(instance)。 每个类最重要的区别于其他类的特性就是“可以发什么样的消息给他”
      5. 某一特定累心过的所有对象都可以接收同样的消息、
            “圆形”类型的对象同时也是“几何形”类型的对象,所以一个“圆形”对象必定能接受发送给“几何形”队形对象的消息。这就是OOP最强有力的一个概念之一“可替代性”。
    • 总结
          对象具有状态、行为和表示。
          这意味着每一个对象都可以拥有内部数据(他们给出了该对象的状态)和方法(他们产生行为)。并且每一个对象在内存中都有一个唯一的地址。

    每个对象都有一个接口

    • 亚里士多德提出类型的概念
          所有的对象个都是唯一的,但同时也是具有相同的特性和行为的对象所归属的类的一部分。
    • 类与对象概述
          创建抽象数据类型(类)是面向对象程序设计的基本概念之一,类描述了具有相同特性(数据元素)和行为(功能)的对象集合,每一个对象都属于定义了特性和行为的某个特定的类。
          面向对象技术可以将大量的问题很容易的讲解为一个简单的解决方案,他所面临的一个挑战就是在问题空间的元素和解空间对象之间创建一对一的映射。
          那么如何定义有用的对象呢?必须有某种方式产生对对象的请求,是对象完成各种任务。而每个对象都只能满足某些请求,这些请求有借口(interface)所定义,决定接口的便是类型。
          接口决定了对某一特定对象所能发出的请求。当然也就必须有满足这些请求的代码,这些代码与隐藏的数据一起构成了实现。当想对象发送请求时,与之相关联的实现就会被调用。这个过程为: 向某个对象“发送消息(产生请求)”,这个对象便知道此消息的目的,然后执行对应的程序代码。

    相关文章

      网友评论

          本文标题:第一章《对象导论》

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