【问题标题】:what is meaning of instance in programming?编程中实例的含义是什么?
【发布时间】:2013-12-26 01:08:54
【问题描述】:

我很久没听懂了。有没有更容易理解的类似于“实例”的替代词?对于非程序员,您如何解释实例?实例就像普通人世界中的例子。如果我连它的意思都不懂,我就无法理解它是什么。

【问题讨论】:

  • 实例就是对象,对象就是实例。
  • @SotiriosDelimanolis 就这么简单?现在,实例和对象有什么不同?
  • 无。它们是同义词。
  • @user3057928 没有任何区别。
  • “实例:某事的示例或单次出现。”关注“单次出现”部分。

标签: java javascript c++


【解决方案1】:

“实例”最好理解,因为它与编程中的“类”有关。 “类”用于定义事物的类别的属性和行为。例如。 “汽车”类可能规定所有汽车都由它们的品牌、型号、年份和里程来定义。

但是,在您创建汽车的“实例”之前,您无法提供有关特定汽车的详细信息(例如,1978 年的雪佛兰 Impala,上面有 205,000 英里,您的米奇叔叔驾驶过)。它是实例,它捕获关于一辆特定汽车的详细信息。

【讨论】:

  • 我写答案时没有读到这个 ​​- 我刚刚意识到你和我在说类似的话......
  • 现在听起来很像对象......对吗?为什么他们不说对象而是实例?
  • “object”和“instance”在程序员之间的随意讨论中经常互换使用。我怀疑这是因为大多数 OO 语言在类层次结构的顶部都有一个“对象”类。该基类的实例自然称为“对象”。而且因为所有类都继承自基类,所以所有实例都将具有最小的“对象”行为。因此,“对象”和“实例”之间的定义变得模糊。
  • 另外,值得注意的是,在“一切都是对象”的 Javascript 中,对象比其他语言有更多的行为。具体来说,将任意键值对挂在几乎任何对象上的能力有点不寻常。在其他语言中,这种行为被封装在“map”、“hash”或“dictionary”类中(顺便说一句,一组可以互换使用的术语)
【解决方案2】:

要了解什么是实例,我们必须先了解什么是类。

只是一种编程语言提供的建模工具,用于表示程序或应用程序中的真实世界对象。

类的结构是为了适应对象的属性(成员变量)及其操作(成员函数/方法)。

另一方面,Instance 只是从类创建的对象的变体。您可以使用 constructor 创建一个对象变体(Instance),这是一个专门为此目的定义的类中的方法。

考虑一个汽车,如果你想在你的应用程序中表示它,你可以定义一个标识为 Car 的类,它包含汽车的属性和 汽车可以执行的操作。

假设它是用 Java 编程语言完成的,它看起来会接近这个:-

public class Car{
    //the properties of the car
    private String make;
    private int year;
    private int gear;
    private int speed;
    ...

    //constructor used to create instances of the car
    public Car(String carMake, int yearManf){
        year = yearManf;
        make = carMake;
    }

    //Car Operation/methods

    public void setGear(int gearValue){
        gear = gearValue
    }
    public void applyBrake(int decrement){
        speed -= decrement;
    }
    public void accelerate(int increment){
        speed += increment;
    }   
    ...
}

创建汽车实例:-

Car BMW = new Car("385 i", 2010);

这里的宝马是汽车的一个实例。

【讨论】:

    【解决方案3】:

    暂时脱离编程世界:你知道人是什么。你是“人”类的“实例”——我可以谈论一般的人(对象类),或者如果我有一个特定的想法,我会谈论一个“实例”。实例可以具有并非自动成为类成员的结果的属性。所有人都有一颗心,但并不是所有人都有你的名字和出生日期。

    我希望这能澄清一点?

    【讨论】:

    • 它像对象吗?我相信是的。但是为什么不用'object'来表达呢?大声笑
    • “实例”是特定类的一个对象——所以当你说“实例”时,你通常是在“对象的类型(或类)”的上下文中这样做的。你是类人的一个实例。细微的差别。
    【解决方案4】:
    int main()
    {
        int a;     //An instance of integer
        int a,b;   //two instances of integer
        struct1 a; //An instance of struct1
        return 0;
    }
    

    【讨论】:

    • 它们不是可变的吗?卢兹
    • 是的,但是您说“这是一个变量;我们称它为 a,它具有整数类型。我们将在其中存储一个值。”。说“一个整数的实例,a。”是一样的:)
    【解决方案5】:

    这是一个非常标准的定义:

    在面向对象编程 (OOP) 中,实例是特定的 任何对象的实现。一个对象可以有多种变化 方法。该对象的每个已实现变体都是一个实例。这 实现实例的创建称为实例化。

    程序每次运行时,都是该程序的一个实例。在 从类创建对象的语言,对象是 类的实例化。也就是说,它是给定类的成员 具有指定值而不是变量。在非编程 在上下文中,您可以将“狗”视为一个类和您的特定狗 作为该类的一个实例。

    http://whatis.techtarget.com/definition/instance

    以下是关于实例的精彩对话,可能会对您有所帮助:https://softwareengineering.stackexchange.com/questions/99202/is-it-called-class-or-object-instance

    【讨论】:

      【解决方案6】:

      来自对象的对象或来自对象的引用。

      【讨论】:

      • 我明白了。我从来没有听说过他们称对象为对象。这是他们使用对象实例的原因吗?
      • @user3057928 因为您可以拥有一个 object 的许多 instances
      【解决方案7】:

      粗略地说,有制作事物的模式,并且有这些模式的实例

      类是创建对象的模式。用它创建的对象是类的实例。

      class C { };
      C c;          // instance of C
      C d;          // instance of C
      

      函数模板是用于创建函数的模式。用它创建的函数是模板的实例。这通常是隐式完成的,称为“隐式实例化”。

      template <class T> void f(T) { }
      f(int);       // implicit instantiation of f<int>
      f(double);    // implicit instantiation of f<double>
      

      类模板是用于创建类的模式。用它创建的类是模板的实例。

      template <class T> class X { };
      X<int> xi;    // X<int> is instance of X, xi is instance of X<int>
      X<double> xd; // X<double> is instance of X, xd is instance of X<double>
      

      【讨论】:

        【解决方案8】:

        实例基本上是一个对象。在实际的英语中,它可能意味着不同。在这种情况下,英语中的实例可以表示“参考”或“参考”。编程中的这些对象实例也是对源代码的引用。

        【讨论】:

          【解决方案9】:

          举个简单的例子:我们有一个蓝图(班级)代表学生(对象),其中包含姓名、年龄、课程(班级成员)等字段。我们这里有 2 个学生,Foo 和 Bob。因此,Foo 和 Bob 是代表对象(学生人)的类(学生类)的 2 个不同实例。
          来源:阿尔弗雷德的计算博客

          据我所知,实例是指向类对象的指针。

          ps:我可能是错的。

          【讨论】:

            【解决方案10】:

            Instance 是一个变量,它保存了 Object 的内存地址。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-02-20
              • 2023-04-01
              • 2023-03-28
              • 1970-01-01
              • 2021-10-07
              • 2013-01-04
              • 2012-10-20
              • 1970-01-01
              相关资源
              最近更新 更多