OOP - 如果一个类创建了一个类的实例,那么该实例也会成为一个对象吗?

时间:2012-06-13 07:01:53

标签: oop class object

不要听起来像公案,但只是想知道是否有关于类和对象的明确规则。我曾经认为类是蓝图,对象是它们的创造。但如果蓝图的组合创造了另一个蓝图,那么后一个蓝图也会成为一个对象吗?

2 个答案:

答案 0 :(得分:1)

你的问题似乎有点哲学...... :)“对象”和“实例”在OOP中是完全同义的。

如果我正确地理解了你的问题,你的疑问是:“如果一个对象仍然是一个对象,如果由另一个不同的类创建它定义它的类型?”

答案是“是”,实例是在其类定义的“模型”之后创建的对象,但出于多种原因,您可以以间接方式实例化类,例如静态方法(例如工厂类的工厂方法),而不是直接使用new语句。

如果你想看到一些,Java中的一个简单例子可能是:

public class MyClass {
    public MyClass(){}
}

public class MyClassFactory{

    public getInstance(){
        return new MyClass();
    }
}

在这种情况下,实例不是由MyClass直接返回的,而是来自其工厂类。然而它也是一个对象......

答案 1 :(得分:0)

在我所知道的几乎每个OO环境中,一个实例与对象相同

对象/实例是由客户端(例如使用new)还是由类(例如使用单例或工厂)创建的并不重要。

如果您正在讨论类的上下文中的蓝图,那么从蓝图创建蓝图就是继承,而不是实例化。