• OO面向对象再认识


    Object

    Objects in programming languages often embody both attributes and behaviors.

    Attributes在不同场合又称作

    Properties
    Fields
    Data
    Instance variables
    State

    Behaviors在不同场合又称作

    Methods
    Functions
    Procedures
    Operations
    Actions
    Member functions

    了解一个东西的属性和行为,就表示对该东西有了认识和概念(Concepts)。尽管有些东西并不存在,但只要对其有概念,就是对象,如古代神话中的龙、凤凰、月中白兔、嫦娥等都是我们熟悉的对象。但对于没有听过嫦娥奔月故事的外国人来说,嫦娥并不是对象。

    在“面向对象编程”(Object-Oriented Programming,简称OOP)观念中,事件所涉及的东西是对象,对象的内部状态变化是事件。

    传统上,数据与函数分而治之。“函数”代表计算机的动作,其动作的目的是“处理”数据。。数据是被动的,函数是主动的。若软件想满足人们的生活习惯,符合自然界的规则,应修正传统的观点,将数据和函数化零为整,合
    为一体成为如今所说的“对象”。

    In many object-oriented programming languages, each object belongs to a specific class, and each class defines a data type. So, in a sense, you could say that each object is an instance of a particular data type.

    消息的作用:刺激对象,令其改变内部状态。
    消息的目的:要求对象提供服务。例如,在火车站将钱币投入售票机时,对售票机个体而言,用户的投币
    或按键都可以认为是消息的到来,消息会改变售票机的内部状态—金额逐渐增加。投足钱币时,售票机提供服务—送出火车票。

    “事件驱动”或“消息驱动”(Message Driven)。所以在OOP 观念中,函数的任务:运行对象对消息的反应过程,即表达对象的行为。函数处于被动位置,只有收到消息,受外界刺激时,对象才会呼叫函数对消息做出反应。
    目前大部分软件是事件驱动的,而写这类软件时,就需要应用OOP 的观念和方法。

    铁打的营盘流水的兵

  • 相关阅读:
    SVN学习
    http库requests
    centos7安装virtualenv
    css:clip元素裁剪实现Loading加载效果边框
    物联网python996655
    【数据链路层】网络基础 -- MAC帧协议与ARP协议
    redis内存描述
    protobuf用cmake生成vs2010项目文件
    深入理解服务发现:从基础到实践
    SpringCloud:Nacos注册中心和服务消费方式
  • 原文地址:https://blog.csdn.net/longwo888/article/details/138214614