zoukankan      html  css  js  c++  java
  • 理解对象的类(class)与对象的类型(type)之间的差别

           一个对象的类定义了对象是怎样实现的,同时也定义了对象的内部状态和操作的实现。但是对象的类型只与它的接口有关,接口即是对象能响应的请求的集合。一个对象可以有多个类型,不同类的对象也可以有相同的类型。

          当然,对象的类和类型是有紧密关系的。因为类定义了对象所能执行的操作,也定义了对象的类型。当我们说一个对象是一个类的实例时,即只该对象支持类所定义的接口。

          C++语言的类既指定对象的类型又指定对象的实现。smalltalk程序不声明变量的类型,所以编译器不检查赋给变量的对象类型是否是该变量类型的子类型。发送消息时需检查消息接收者是否实现了该消息,但不检查接收者是否是某个特定类的实例。

    可能大家对上面的解释越搞越晕,其实我也很晕,这些最基本的概念就我而言我还不是很清楚,个人认为还是有必要搞清楚的。

    在这里再理解几个基本概念

      类型:是用来标识特定接口的一个名字。

      类的类型:是由字段数据(成员变量)和操作字段数据的成员(属性、方法、构造函数、事件等)所构成的自定义类型。其中字段数据表示类实例(对象)的状态。

     对象的接口:对象声明的每一个操作指定操作名、作为参数的对象和返回值,这就是所谓的操作的型构(signature)。对象操作所定义的所有操作型构的集合被称为对象的接口。

    对象接口描述了该对象所能接受的全部请求的结合,任何匹配对象接口中型构的请求都可以发送给该对象。

    欢迎大家交流和探讨

  • 相关阅读:
    javascript工具--控制台详解(转自 阮一峰博客)
    javascript基础知识--函数定义
    javascript基础知识--什么是构造函数?什么是实例化对象?
    移动端开发,几个你可能不知道的CSS单位属性。
    HTML标签语义化,裸奔都那么帅
    THREE.JS开发《我的世界》(一)
    Webpack + ES6 最新环境搭建与配置
    canvas实现3D魔方
    Canvas实现3D效果-可旋转的立方体
    实现记忆中的经典游戏-扫雷
  • 原文地址:https://www.cnblogs.com/Daywei/p/2059680.html
Copyright © 2011-2022 走看看