实例和对象之间有什么区别? 是否有区别?
实例和对象之间有什么区别? 是否有区别?
Instance和Object来自面向对象编程。
对于一些编程语言,如Java、C++和Smalltalk,描述和理解代码是很重要的。在其他使用结构化编程的语言中,这个概念并不存在。
这是结构化编程的观点。这里没有真正显著的差异需要消耗太多时间。可能会有一些花哨的语言,有些人可能会花费大量的篇幅写关于这些差异,但就程序员、开发人员、程序员、架构师而言,类的实例和对象意思相同,通常可以互换使用。我在职业生涯中从未遇到过任何人会挑剔并花费半个小时试图指出差异,因为实际上并没有差异。时间可以更好地用于其他开发工作。
更新 关于Swift,苹果公司发明了Swift,它更喜欢:
类的实例传统上被称为对象。然而,Swift类和结构在功能上更接近于其他语言中的结构,本章的大部分内容描述的功能都适用于类或结构类型的实例。因此,使用更通用的术语“实例”。
非常好的问题。
我将以最简单的方式来解释: 假设你的篮子里有5个苹果。每个苹果都是一种名为“苹果”的对象,具有某些特征(例如:大、圆、生长在树上)。
从编程角度来看,您可以有一个名为Apple的类,它具有变量大小:大、形状:圆、栖息地:生长在树上。要在篮子里放入5个苹果,您需要实例化 5个苹果。 Apple apple1, Apple apple2, Apple apple3等...
。
或者说:对象是某物的定义,实例则是其物理存在。
这样讲清楚了吗?
实例:实例意味着只创建一个引用(副本)。
对象:意味着使用new运算符将内存位置与对象关联(是类的运行时实体)。
简单来说,实例是指特定时间点上对象的副本,而对象是指类的内存地址。
对象:
它是一个通用术语,基本上是一个具有状态(变量)和行为(方法)的软件包。
类:
是一个对象的蓝图(模板),实例是一个独特的对象。比如,如果你创建了两次一个对象,那么这意味着你已经创建了两个实例。
让我举个例子。
Class student()
{
private string firstName;
public student(string fname)
{
firstName=fname;
}
Public string GetFirstName()
{
return firstName;
}
}
对象示例:
Student s1=new student("Martin"); Student s2=new student("Kumar");
s1和s2是类Student的对象。
实例:
s1和s2是类student的实例,它们是唯一的。 它也可以被称为引用。
实质上,s1和s2是被分配了对象的变量。
对象和实例大多相同;但是它们之间有一个非常小的区别。
如果Car
是一个类,3个Car
是三个不同的对象。所有这些对象都是实例。因此,这3辆车是Car
类的实例对象。
但是,“实例”这个词也可以表示“结构实例”。但是“对象”只用于类。
所有的对象都是实例。 并非所有实例都必须是对象。实例可以是“结构实例”或“对象”。 我希望这使得区别对您更清晰明了。
快速简明回答
一个对象是一种构造,它是静态的并具有某些特征和特性,例如属性和方法,它可以是任何东西(字符串、用户控件等)
一个实例是该对象的唯一副本,您可以使用它并执行各种操作。
想象一个产品,比如一台电脑。
xw6400工作站是一个对象
您的xw6400工作站(或您妻子的xw6400工作站)是xw6400工作站对象的一个实例
Java是一种面向对象的编程语言(OOP)。这意味着,Java中的所有东西,除了原始类型之外,都是对象。
现在,Java对象类似于现实世界中的对象。例如,我们可以在Java中创建一个汽车对象,它将具有像当前速度和颜色这样的属性,以及像加速和停车这样的行为。
这就是对象。
实例,另一方面,是该对象的唯一初始化副本,看起来像Car car = new Car()
。
查看此处以了解更多关于Java类和对象的信息。
当一个自定义类型(类)的变量被声明时,只会创建一个称为对象的引用。在这个阶段,没有为这个对象分配任何内存。它只是作为指针(指向将来存储对象的位置)。这个过程被称为“声明”。
Employee e; // e is an object
另一方面,当使用new
运算符声明自定义类型的变量时,会在堆中分配内存以创建该对象,并返回对分配内存的引用。现在将这个对象称为实例。这个过程被称为“实例化”。
Employee e = new Employee(); // e is an instance
new
运算符和类。
不要考虑Java或任何语言的语法,这个例子是与语言无关的。 - Srishti Gupta