听起来不像公案,只是想知道是否有关于类和对象的明确规则。我曾经认为类是蓝图,而对象是它们的创造。但是如果一个蓝图的组合创造了另一个蓝图,那么后一个蓝图是否也成为一个对象?
问问题
62 次
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 回答