第一章《对象导论》

抽象过程

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

每个对象都有一个接口

  • 亚里士多德提出类型的概念
        所有的对象个都是唯一的,但同时也是具有相同的特性和行为的对象所归属的类的一部分。
  • 类与对象概述
        创建抽象数据类型(类)是面向对象程序设计的基本概念之一,类描述了具有相同特性(数据元素)和行为(功能)的对象集合,每一个对象都属于定义了特性和行为的某个特定的类。
        面向对象技术可以将大量的问题很容易的讲解为一个简单的解决方案,他所面临的一个挑战就是在问题空间的元素和解空间对象之间创建一对一的映射。
        那么如何定义有用的对象呢?必须有某种方式产生对对象的请求,是对象完成各种任务。而每个对象都只能满足某些请求,这些请求有借口(interface)所定义,决定接口的便是类型。
        接口决定了对某一特定对象所能发出的请求。当然也就必须有满足这些请求的代码,这些代码与隐藏的数据一起构成了实现。当想对象发送请求时,与之相关联的实现就会被调用。这个过程为: 向某个对象“发送消息(产生请求)”,这个对象便知道此消息的目的,然后执行对应的程序代码。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容

  • 1.1 抽象过程 面向对象程序设计(opp) 面向对象语言的五个基本特性: 万物皆为对象。 程序是对象的集合,它们...
    遺訓餘風阅读 571评论 1 0
  • 此章节为背景性的和补充性的材料,概要的介绍了本书的内容。 抽象过程编程语言提供一种抽象机制,这种机制可以帮助解决从...
    MAXPUP阅读 107评论 0 0
  • 有位好姑娘 成熟出闺房 不梳妆 也漂亮 就象花一样 呈现迷人姿色 散发醉人芬芳 有位好姑娘 大眼眼明又亮 看人带电...
    秋AldrichB果阅读 213评论 10 12
  • 有时候,太在乎,并不能使友谊更浓,反而会让友谊慢慢淡然;如果你想拥有那个一辈子的朋友,那就试着学会用“云淡风轻”的...
    白蔷薇阅读 730评论 0 2
  • 如今只要是个节,都是要给自己老婆或者女朋友发红包的,当然了如果是情人节还要送鲜花的,为了表示咱中国男人的幸福指数高...
    a208787a2a7f阅读 241评论 0 0