这次我们来讲讲“对象”
众所周知,程序员是没有对象的,但是身为一个后端程序员,作为单身狗也要天天和对象打交道,还要时不时被这样嘲讽(咬牙切齿)
汪
今天我们要介绍的就是面向对象程序设计中的关于这个对象的事情(是你们下学期要学习的C++中的一个要点哦~)
干货
面对对象程序设计思想在1967年的simula语言中被提出,在第二次软件危机时得到快速发展,并得益于C++,在80年代开始流行,后来的JAVA,C#更是把面对对象编程推向了新的高潮。直至今日,面对对象的编程思想依旧是主流的开发思想。顺便一提,身为计软大一新生的你们正在学习的C语言的思想是结构化程序设计,是在第一次软件危机中应运而生的,感兴趣的同学可以自行百度。
说了这么多,到底什么是对象呢?下面给出两种百科的解释
广义:在内存上一段有意义的区域,称作为一个对象。
在C中,具有特定长度的类型,可以称作为对象类型,函数不具有特定长度,所以不是对象类型。
在显式支持面向对象的语言中,“对象”一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。
(来自百度百科)
在计算器科学中,对象(英语:object),中国台湾译作物件,是一个存储器地址,其中拥有值,这个地址可能有标识符指向此处。对象可以是一个变量,一个数据结构,或是一个函数。是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。
在软件系统中,对象具有唯一的标识符,对象包括属性(Properties)和方法(Methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象(Object Oriented)的软件中,对象(Object)是某一个类(Class)的实例(Instance)
(来自维基百科)
为了能更好的理解对象,这里不得不提一下类(Class)这个概念,类(Class)的实质是一种复杂的数据类型,描述了一类对象的性质,包括行为,状态,拥有自己的方法,是抽象的。而对象,就是把这个抽象的类转化为实质的结果,并且类在未被实例化成对象的时候,是不可操作的。
你的对象就是全体人类的一个对象,他叫什么,长什么样子,会做什么,你都是知道的,你可以根据这些你知道的事情,去进行一些操作,而全体人类的这些性质,你是不清楚的,也无法去操作。(当然,你们是不可能有对象的啦)
再举个实际点的栗子,C语言中的结构体和类就有几分相似,只不过结构体没有成员方法,没有访问权限的限制,不能继承,只封装了数据等等。(这些名词的意思就请自行百度了解了,露出了魔鬼般的笑容)
好的,基础信息就说到这里,之后繁多的细节就麻烦你们在C++里面自己学习喽~,最后祝你们早日脱单,找到对象,而不用再去new一个了!
(洗洗睡吧,梦里什么都有,真以为程序员能找到对象啊,说不定过段时间就连自己最亲爱的头发都要跟自己say good bye了)
文字:张一帆
编辑:牛江元
校对:徐舒敏
领取专属 10元无门槛券
私享最新 技术干货