实例和对象有什么区别?
实例和对象有什么区别? 有没有区别?
一个实例是内存中的一个对象。 基本上你创build对象并在你使用它们的时候实例化它们。
这是一个很好的写在类Vs对象VS实例,他在说Java,但它适用于所有的OO。
http://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/
很好的问题。
我会尽可能以最简单的方式解释:假设你的篮子里有5个苹果。 这些苹果中的每一个都是苹果types的对象,它具有一些特征(即大,圆,在树上生长)。
在编程方面,你可以有一个名为苹果的类,其variables大小:大,形状:圆形,栖息地:生长在树上。 要在你的篮子里有5个苹果,你需要实例化 5个苹果。 Apple apple1, Apple apple2, Apple apple3 etc...
。
另外:对象是东西的定义,实例是物质的东西。
这有道理吗?
没有真正的显着差异,应该消耗太多的时间。 可能有一些花哨的语言,有些人可能会占用大量的空间来写,但在一天结束的时候,就编码人员,开发人员,程序员,架构师而言,一个类和一个实例对象意味着相同的东西,可以交替使用。 我在职业生涯中从来没有遇到过任何挑剔的人,花上半个小时的时间试图指出这些差异,因为没有一个。 时间可以花在其他的开发工作上。
更新关于Swift,这就是Swift发明的苹果喜欢的:
一个类的实例传统上被称为对象。 然而,Swift类和结构在function上比其他语言更接近,本章的大部分内容描述了可以应用于类或结构types实例的function。 因此,使用更一般的术语实例。
实例:实例意味着创build一个引用(复制)。
对象:通过使用new运算符,意味着内存位置与对象(是类的运行时实体)相关联。
简而言之,实例是指在特定时间对象的副本,而对象是指类的内存地址。
对象和实例大部分是相同的; 但差别很小。 如果“汽车”是一个类; 3辆车是3个不同的对象。 所有这些对象都是实例。 所以这3辆车是“汽车”级的物品。
但“实例”一词也可以是“结构实例”。 但是对象只是用于类。
所有的对象都是实例。 所有的实例可能不是对象。 实例可以是“结构实例”或“对象”。
一个对象是一个构造,静态的东西,具有某些特性和特性,如属性和方法,它可以是任何东西(一个string,一个用户控件等)
实例是该对象的唯一副本,您可以使用该对象并进行处理。
设想一下像电脑这样的产品。
xw6400工作站是一个对象
您的xw6400工作站(或您的WIFE的xw6400工作站)是xw6400工作站对象的一个实例
假设你正在build立一些椅子。
显示如何构build椅子并将其放在一起的图表对应于一个软件类。
假设您按照该图中的模式构build五把椅子。 同样,你可以根据类中的模式构造五个软件对象。
每把椅子都有一个独一无二的号码,可以放在座位的底部,以识别每个特定的椅子。 椅子3是椅子对象的一个实例。 同样,内存位置3可以包含一个软件对象的实例。
所以,一个实例(椅子3)是一个对象(椅子)的唯一唯一的具体表示。
对象 :
这是一个通用术语,基本上它是一个软件包,它具有状态(variables)和行为(方法)
Class :
一个对象实例的蓝色打印(模板) – 这是一个独特的对象的事情,例如你创build一个对象两次这意味着你已经创build了两个实例
让我举个例子
Class student() { private string firstName; public student(string fname) { firstName=fname; } Public string GetFirstName() { return firstName; } }
对象示例 :
学生s1 =新生(“马丁”); 学生s2 =新生(“Kumar”);
s1,s2有Student类的对象
实例 :
s1和s2是对象学生的实例,两者是唯一的 。
它也可以被称为参考 。
基本上s1和s2是分配一个对象的variables
实例是对象的特定表示。 一个对象是一个通用的东西,而一个实例是在内存中创build的单个对象。 通常情况下,一个实例将赋值给它的属性,以区别于其他对象types的实例。
Object – 一个具有自己的状态并可以访问其类所定义的所有行为的类的实例。
实例 – 引用该特定类的内存区域。
每个对象被认为是它的类的一个实例,但是每个类的实例对每个属性都有它自己的值。intances与类的属性共享属性名和操作,但是一个对象包含一个隐含的对他的类的引用
如果我们看到对象和实例对象的定义 –
在运行时为类的成员分配的内存被称为对象或对象是类的实例。
让我们看看实例的定义 –
在运行时为Any分配的内存被称为实例variables。
现在理解C中任何运行时内存分配的意义还可以通过Malloc,Calloc,Realloc等:
struct p { } p *t1 t1=(p) malloc(sizeof(p))
所以在这里我们也分配运行时内存分配,但在这里我们称为实例所以t1是实例在这里我们不能说t1作为对象所以每个对象是类的实例,但每个实例不是对象。
一个对象可以是一个类,比如说你有一个叫篮球的课。
但是你想拥有多个篮球,所以在你的代码中你创造了超过1篮球
说篮球1和篮球2。 然后你运行你的应用程序。 你现在有2个对象篮球的例子。
class级:class级是蓝图。 对象:这是类的副本。 实例:它是一个用来保存对象的内存地址的variables。
一个非常基本的分析例子
阶级之家 – >房子的蓝图。 但是你不能生活在蓝图上。 你需要一个物理的房子,它是这个类的实例,也就是说,对象的实际地址是实例。 实例表示对象。
不要混淆对象和实例,因为object
是事物 ,但是instance
是捆绑事物的一部分 。 例如,如果Car
是一个class,那么它应该包含一些像轮子,转向,门和座位的物体。 现在让我们来回顾一下:一个object
(轮子)是Car
一个instance
。
对象是指类和实例是指一个对象。换句话说,实例是一个对象的副本,其中有特定的值。