zoukankan      html  css  js  c++  java
  • SoftwareOO 面向对象思维

    2017-11-06 11:02:50

    所有编程语言的最终目的都是提供一种“抽象”方法。

    解决问题的复杂程度直接取决于抽象的种类及质量。这儿的“种类”是指准备对什么进行“抽象”?

    汇编是对基础机器的少量抽象。“命令式”语言是对汇编语言的一种抽象。

    (Alan Kay 总结的 Smalltalk 的五大基本特征)面向对象程序设计语言

    1)所有东西都是对象。可将对象想象成一种新型变量;保存着数据,但可要求它对自身进行操作。理论上可从要解决的问题

    身上提出所有概念性的组件,然后在程序中将其表达为一个对象。

    2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。

    可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。

    3 ) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。

    所以,尽管对象的概念非常简单,但在程序中却可达到任意搞的复杂程度。

    4)每个对象都有一种类型。 根据语法,每个对象都是某个“类”的一个“实例”。

    其中,”类“(Class) 是 ”类型“ (Type)的同义词。一个类最重要的特征就是”能将什么消息发给它?“。

    5)同一类所有对象都能接收相同的消息。对象的”可替换性”,是 OOP 最重要的概念之一。

  • 相关阅读:
    javascript实战演练,制作新按钮,‘新窗口打开网站’,点击打开新窗
    P1332 血色先锋队
    P4643 [国家集训队]阿狸和桃子的游戏
    T149876 公约数
    P1462 通往奥格瑞玛的道路
    P1083 借教室
    Tribles UVA
    Fence Repair POJ
    Crossing Rivers
    关于一轮
  • 原文地址:https://www.cnblogs.com/masterSoul/p/7792655.html
Copyright © 2011-2022 走看看