面向对象的基本概念——类和对象
1.类和对象,这两者之间的关系有点像“先有鸡” 还是“先有蛋”的关系一样,有一点纠缠。
从他们的定义就可以看出来:
用对象来定义类、用类来产生对象!
有的时候 在表达概念的时候,对象 与 类可以通用!
在设计软件系统的时候,对象是不存在的,
在软系统运行时, 在内存中创建对象。类不存在于物理世界
2.类和对象的定义:
类的定义:
a class is a description of a set of objects that share the same attributes, operations, relationships, and semantics “共享相同属性、操作、 方法、关系或者行为的一组对象的描述符” - rumbaugh
对象的定义:
an object is an instance created from a class. 一 个对象是根据一个类创建的一个实例 an instance’s behaviour and information structure is defined in the class. 类,定义了实例的行为和信息结构
its current state (values of instance variables) is determined by operations performed on it. 对象的当 前状态(实例变量的取值)取决于作用于该对象的操 作
类举例如下图:
对象举例如下图:
3.类的构成、对象的构成:
类和对象结构图:
注意:概念之间的互用:
属性attribute == 数据data == 状态state == 信息 information
操作operation == 方法method ==行为behaviour = = 职 责responsibility
4.软件功能是如何完成的:
类:定义了对象群体的逻辑结构,包括属性和操作
系统运行时,类作为产生对象的模板,在物理层面是不存在的
对象:系统运行时必须为每一个需要的对象分配内存、保存数据
对象存在于物理层面,每个对象都有自己的数据空间(内存)
所有的对象共享同一块代码空间
消息:对象之间的一种交流手段
就像我们日常工作中的各种交流手段
所有相关对象之间相互协作完成软件功能
上一篇: 功夫鼠标KungfuMouse更新历程
下一篇: RabbitMQ工作模式
推荐阅读
-
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
-
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间,_PHP教程
-
Vue实现动态添加或者删除对象和对象数组的操作方法
-
详解Vue中数组和对象更改后视图不刷新的问题
-
一个关于父类方法访问子类对象中的公有属性的问题
-
php面向对象全攻略 (十六) 对象的串行化_php基础
-
php面向对象中static静态属性和静态方法的调用
-
探讨javascript是不是面向对象的语言_javascript技巧
-
获取类的类对象的几种方式
-
php面向对象全攻略 (三)特殊的引用“$this”的使用_PHP教程