2023-12-10 23:09来源:m.sf1369.com作者:宇宇
对象其实就是一种封装的概念,它把事物封装成一个类,然后提供类的接口,而具体的过程人们是看不到的。
举个例子,比如我用C语言写一个交换函数 swap(a,b);当你引用这个函数时,你可以完全的看到执行的过程。
但是面向对象的编程就不是这样,我写了一个类,然后提供了一个交换的接口。那么当其他人来想使用这个接口的时候就会这样用a.swap(b);它只能看到这个swap()接口,而看不到具体的执行过程,过程本身都是在对象的内部来处理的,而这个类本身就同一类对象的一个集合。
类是一个抽象概念,而对象则是这一个概念下的一个实体。就比如有一个灯泡a,灯泡b都是一个对象,而灯泡这个抽象概念的集合则称为类。
同理,VB在编程的时候也是将对象封装成类,然后来使用的,用户不必去了解具体的执行过程。
比如说这个世界,每个人是一个对象,没样东西也是一个对象!
就拿人来说,你是一个对象,你的属性有:(名字,年龄,性别,身高...等)
你的方法有:(你能走路,你能说话,等等...)
明白了吗?
类:
就是一个类别,比如人类,汽车类,是一个概括性的统称。每个类里都有自己的方法,属性,事件。比如汽车有重量,大小,品牌等属性,有开车停车等方法。人有吃,喝,身高,体重。
对象:
就是一个类中的个体,比如人类中的我,你,她,你女朋友。我们都属于人类,但是我们的身高体重都不一样。
所以,对象是类中的一个个体,无数相似的对象组成了类。
在编程里,我们借用了现实生活中的这个现象,比如我们要操作注册表,用函数,过程等很容易,那是因为它不够复杂!你想,如果要同时操作许多键值,我们记不过来打开了那些键。很有可能记混。特别是在大型的程序里面,但是我们吧这些组成一个注册表类。那就方便了:
举例
机器人类:
创建(方法)
销毁(方法)
干活(方法)
体重(属性)
这就是一个类,机器人很复杂,我们将电路怎样链接,有什么部件,怎样润滑,电池放在哪里,都封装好,将干活等我们需要的对外公开。
然后定义一个终结者,它属于机器人类,是一个实体。它里面有血有肉,运作复杂(私有变量,私有过程),但我们不用关心,也就是说我们只要关心结果。不用担心是怎么运行的,只要他能干活就行。
对象(object),台湾译作物件,是面向对象(Object Oriented) 中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。
在软件系统中,对象具有唯一的标识符,对象包括属性(Properties)和方法(Methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象(Object Oriented) 的软件中,对象(Object)是某一个类(Class)的实例(Instance)。
类(class),是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。
类的更严格的定义是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层[1]的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。
支持类的编程语言在支持与类相关的各种特性方面都多多少少有一些微妙的差异。大多数都支持不同形式的类继承。许多语言还支持提供封装性的特性,比如访问修饰符。类的出现,为面向对象编程的三个最重要的特性(封装性,继承性,多态性),提供了实现的手段。
对象和类的说明其实很相似。实际上,类和对象之间的差别经常是一些困惑的起源。在现实世界中很明显,类不是它描述的对象 - 自行车的蓝图不是自行车。但是在软件中就有点难区分类和 对象。这部分是由于软件对象只是现实世界的电子模型或抽象概念。但是也由于很多人用“对象”指类和它们的实例这两者。