|
|
1
2
常用的方法(在C++中)是使“所属类”构造函数私有,并让它们将工厂类声明为
|
|
|
2
1
我会让类A和类B成为XFactory的朋友,并对它们的构造函数保密。因此,只有XFactory可以访问其构造函数。 也就是说,在C++中。在Java或C#中,我看不到任何在编译时强制实现这一点的干净方法。您的示例远不是傻瓜式的,甚至有点令人困惑,因为只要有一个XFactory实例,他就可以将其传递给a或B的构造函数,并像那样直接实例化它们。 |
|
|
3
1
将工厂设置为全局单例,并创建对象:
(我是否获得黑客点数?) 雅各布 |
|
|
4
-1
在Java中,可以将构造函数设置为私有的,并以公共嵌套类的形式提供工厂,因为嵌套类可以访问声明它们的类的私有成员。
任何想要创建ExampleClass.NestedFactory的人都可以创建一个实例,并通过它实例化ExampleClass。 因为Java编译器要求您为超类指定一个构造函数,所以我还没有找到一种方法来实现这一点,让您从ExampleClass继承。。。所以这是一个缺点。 |
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 1 年前 |