听起来不像公案,只是想知道是否有关于类和对象的明确规则。我曾经认为课程是蓝图,而对象则是他们的创造。但如果一个蓝图组合创造了另一个蓝图,那么后一个蓝图是否也会成为一个对象?OOP - 如果一个类创建一个类的实例,该实例是否也成为一个对象?
回答
你的问题似乎有点哲学...... :)“对象”和“实例”在OOP中是非常同义的。
如果我理解正确你的问题,你的疑问是:“的对象仍然是一个对象也如果另一类是不是界定其类型同样创造出来的?”
答案是“是”,一个实例是继其类中定义的“样板”创建一个对象,但有很多原因,你可以以间接的方式实例化一个类,例如静态方法(例如工厂类的工厂方法),而不是直接使用new
声明。
如果你想看到一些来,在Java中一个简单的例子可以是:
public class MyClass {
public MyClass(){}
}
public class MyClassFactory{
public getInstance(){
return new MyClass();
}
}
在这种情况下,例如不受MyClass
直接返回,而是从它的工厂类。然而它也是一个对象......
在我所知的几乎所有的OO环境中,一个实例是相同的作为对象。
对象/实例是由客户端(例如new
)还是由类(例如单件或工厂)创建并不重要。
如果您在类的上下文中讨论蓝图,那么从蓝图创建蓝图就是继承,而不是实例化。
所以如果一个类的组合创建一个新的类,那将是一个继承,而不是一个对象? –
@Demetriius,是的,这是基本的想法。 – paxdiablo
- 1. 在一个对象的另一个类中创建实例
- 2. 如何在另一个类中创建一个类的实例
- 3. 如何让一个类的实例成为Jena中另一个类的实例?
- 4. 如何创建一个类的实例?
- 5. 我还应该创建一个类吗?如果它只能有一个实例?
- 6. 当我们实例化一个对象时,是否创建了一个超类的实例?
- 7. 从类创建对象返回另一个类的实例
- 8. 为“只有一个实例”创建一个Python类?
- 9. 使用类类的一个对象来创建一个新的实例
- 10. 创建类实例作为另一个类的成员
- 11. 一个类实例
- 12. 创建另一个类的实例
- 13. 创建一个新的类实例
- 14. 创建一个类的静态实例
- 15. 创建一个经理类的实例
- 16. 创建一个类的实例
- 17. 创建一个域类的一个实例,一个Grails脚本
- 18. 你能否在另一个类中实例化一个对象?
- 19. 是否可以在同一个类中创建一个类的实例?
- 20. 如何从其基类的实例创建一个新对象?
- 21. 从另一个类创建一个类的实例
- 22. PHP OOP - 将对象的实例获取到另一个类
- 23. 让一个类成为另一个类的实例
- 24. Coffeescript创建一个给定该类的对象的类的新实例
- 25. 在Application_Start上创建一个类实例
- 26. 另一个类实例创建的类实例是否可以访问创建者的成员?
- 27. 是否创建了一个实例?
- 28. Node.js对象实例是否为每个用户创建一个对象?
- 29. 实例化类,也有一个说法
- 30. 标准惯例是在该类中创建一个类的实例吗?
你的问题非常含糊。这是什么语言?你谈论“蓝图的组合创造了另一个蓝图”,这将意味着一个班级创建一个新班级,而不是一个班级的实例,这在所有语言中都不是普遍可行的。 – lanzz
也许我不明白这个问题......如果有一个实例,那么这个实例就是一个对象。创建它并不重要。任何在堆上实例化的东西都是一个实例,并且是一个对象。 – David
不依赖于语言。一般的OOP。 –