0

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

4

2 回答 2

1

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

如果我正确理解了您的问题,您的疑问是:“如果对象仍然是由定义其类型的另一个类创建的对象,那么它仍然是对象吗?”

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

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

public class MyClass {
    public MyClass(){}
}

public class MyClassFactory{

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

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

于 2012-06-13T14:38:15.657 回答
0

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

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

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

于 2012-06-13T07:07:40.243 回答