【俗话编程】什么是对象?
俗语解释
对象可以是一个人,他有
鼻子、眼睛,他能
嗅、看
对象也可以是一个鼻子,它有
鼻梁、鼻头,它能
垫高、长黑头
对象还可以是一粒黑头,它有
皮脂、细胞屑,它能
堵塞毛孔、吸纳尘埃
对象是任何你能想出来的名词
现实例子
编程中的对象,是一块内存区域,举例Person对象来说,区域头4个字节记录的是他的身高,接下来的4个字节记录的是他的跳跃功能——通常是个函数指针,指向另一块存储函数代码的内存区域——,再下来是2个字节的年龄,等等
Person |
---|
height |
jump-> |
age |
延伸拓展
- 所谓composition就是对象有
组合
关系,四肢躯干和大脑组成了人类,它们长在一起,在一块连续内存里。躯干什么的,就是人这个对象
的成员
- 所谓association就是对象有
关联
关系,即也是成员
,但亲密度弱一些,例如人有手机,,但他们不是长在一起的,他们是在2块不同的内存里 - 对象有
生命周期
,出生和死亡要特别注意,因为它俩都会意外发生 - 对象分
类型
,类型是人就表明它会撒谎、偷窥,类型是狗就表明它会吃屎、乱吠,但两个对象即使类型相同,他们的行为也有差异,例如有的狗嗓门大,乱吠的音量就高些,所以对象的成员控制着对象的行为效果 - 对象
类型
有继承
关系,例如动物能吃和睡,而人不光会吃和睡,还会发博客,所以人就是动物的子类,其实继承这个词用法欠妥,更准确的提法是特化。 - 对象通常会实现某些
接口
,这玩意儿就像是外包,如果是服务外包,就是别人让咱干啥咱干啥,如果是产品外包,就是别人让咱生产啥咱生产啥,一切按合同来,这个合同,就是接口 - 对象通常用
引用
来标识和寻找,引用就是指针,指向一块内存区域(对象),因为指针的取值范围固定,就是0~2^32-1,所以像身份证号一样,可以很容易标识和寻找对象!
升华总结
对象是IT界对编程的一种建模元素,面向对象编程就是IT界看待编程的一种模型。
目前看来,这种模型越来越占据主流地位,不仅在游戏领域、Web领域占据主导,甚至下沉到底层内核编程场景。
【俗话编程】什么是对象?相关推荐
- 高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
编程范式: 命令式编程/声明式编程 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数) 高阶函数 filter/map/reduce filter中的回调函数有一个要求: 必须返 ...
- java 对象的定义是_浅析Java编程中类和对象的定义
1,什么是类? 答:类是客观存在的,抽象的,概念的东西. 2,什么事对象? 答:对象是具体的,实际的,代表一个事物.例如:车是一个类,汽车,自行车就是他的对象. 关于类与对象的描述:类是对象的模版,对 ...
- Java编程思想之对象入门
一.Java编程思想之对象入门 前言 1.面向对象程序设计 2.接口的由来----接收请求 3.public,private,protected的由来----实现方案的隐藏 4.成员对象的由来---- ...
- 面向对象编程——类和对象
面向对象编程 类和对象 类(Class):用来描述具有相同属性和方法的对象的集合 class Student:name='stu'#属性def say(self):#方法print("hel ...
- Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合
Python零基础速成班-第9讲-Python面向对象编程(上),对象和类.初始化.继承.重写.多态.类方法.组合 学习目标 修饰器 面向对象编程:对象和类.初始化.继承.重写.多态.类方法.组合 课 ...
- 【JAVA学习】2、面向对象编程的核心——对象和类
[JAVA学习]面向对象编程的核心--对象和类 前言 面向过程VS面向对象 基础概念 优缺点比较 面向对象三大基础特性 封装 继承 多态 面向对象编程的五大基本原则 单一职责原则SRP(Single ...
- 如何更准确的理解面向对象编程中的对象
现在面向对象的编程思想已经有好长的历史了,我们可能天天都在运用.我们应该如何理解它呢?100个人可能有100种答案,因为它太容易理解了,同时也是最难真正理会其含义的.理解好理解,但在实际的编程当中我们 ...
- Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、
1:Scala之函数式编程学习笔记: 1:Scala函数式编程学习:1.1:Scala定义一个简单的类,包含field以及方法,创建类的对象,并且调用其方法:class User {private v ...
- 面向对象编程风格基于对象编程风格
本文主要通过实现Thread 类来展现两种编程风格的不同点. 很多人没有区分"面向对象"和"基于对象"两个不同的概念.面向对象的三大特点(封装,继承,多态)缺一 ...
最新文章
- mysql 数据怎么导出_mysql怎么导出数据
- RocketMQ-初体验RocketMQ(05)_RocketMQ架构解读
- NDVI等植被相关指数
- C++ 泛型编程(二):非类型模板参数,模板特化,模板的分离编译
- plsql中导入csvs_在命令行中使用sql分析csvs
- 浅析bootstrap原理及优缺点
- Oracle On Linux
- linux禁止开机启动服务器,如何关闭SELinux并设置开机不启动
- python 中基于 xlwings 处理 excel
- MAC下eclipse大小写切换问题 最方便最快捷的大小写切换 +常用的一些快捷键
- 中国首档程序员真人秀,20位选手找bug做模型,结果一开场主办方就惨遭攻击
- 单片机课程设计八音盒
- win10安装PyPESQ库
- winsxs探索之组件的本质:文件与注册表
- 历届上海国际电影节获奖名单
- 微软2013暑假实习生笔试题解析
- ERROR CODE: 0xC004F069 解决办法
- word论文排版插件_有了这3个Word插件,各种Word难题都能迎刃而解!
- Cocos2dx 2.1.5 孤狼优化整合版V1.1(32位)
- C# WPF动画,时钟程序源码分享,闹钟程序源码分享