Questions tagged «instantiation»

实例化是使用大多数面向对象和基于对象的语言从类创建对象的过程。在C ++语言中,实例化是从类模板或函数模板创建类或函数的过程。

30
如何在Java中创建通用数组?
由于Java泛型的实现,因此不能有以下代码: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } 如何在保持类型安全的同时实现此目的? 我在Java论坛上看到了这样的解决方案: import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } 但是我真的不知道发生了什么。

5
为什么[]比list()快?
我最近比较了[]和的处理速度,并list()惊讶地发现它的[]运行速度是的三倍以上list()。我跑了相同的测试与{}和dict(),结果几乎相同:[]和{}两个花了大约0.128sec /百万次,而list()并dict()把每个粗0.428sec /万次。 为什么是这样?不要[]和{}(可能()和'',太)立即传回了一些空的股票面值的副本,而其明确命名同行(list(),dict(),tuple(),str())完全去创建一个对象,他们是否真的有元素? 我不知道这两种方法有何不同,但我很想找出答案。我在文档中或SO上都找不到答案,而寻找空括号却比我预期的要麻烦得多。 通过分别调用timeit.timeit("[]")和timeit.timeit("list()"),和timeit.timeit("{}")和timeit.timeit("dict()")来比较列表和字典,以获得计时结果。我正在运行Python 2.7.9。 我最近发现“ 为什么True慢于if? ”比较了if Trueto 的性能,if 1并且似乎触及了类似的文字对全局场景;也许也值得考虑。



9
有没有办法从持有类名的字符串中实例化对象?
我有一个文件:Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ 和另一个文件:BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else if(/*etc...*/) { …


4
如何在Swift中为UIView子类编写自定义init?
假设我想使用a 和an init作为UIView子类。StringInt 如果我只是继承子类,我将如何在Swift中做到这一点UIView?如果我只是做一个自定义init()函数,但是参数是一个String和一个Int,它告诉我“从初始化返回之前没有调用super.init()”。 如果我打电话给super.init()我,我必须使用指定的初始化程序。我应该在那里使用什么?框架版本?编码器版本?都?为什么?

9
C ++对象实例化
我是试图理解C ++的C程序员。许多教程使用片段演示了对象实例化,例如: Dog* sparky = new Dog(); 这意味着以后您将执行以下操作: delete sparky; 这是有道理的。现在,在不需要动态内存分配的情况下,是否有任何理由使用以上内容代替 Dog sparky; 一旦火花超出范围就让析构函数被调用? 谢谢!
113 c++  instantiation 

3
JavaScript中的“ new function()”,其小写字母“ f”
我的同事一直在使用“ new function()”和小写的“ f”来定义JavaScript中的新对象。它似乎在所有主要的浏览器中都能很好地工作,并且在隐藏私有变量方面似乎也相当有效。这是一个例子: var someObj = new function () { var inner = 'some value'; this.foo = 'blah'; this.get_inner = function () { return inner; }; this.set_inner = function (s) { inner = s; }; }; 一旦使用“ this”,它将成为someObj的公共财产。因此someObj.foo,someObj.get_inner()和someObj.set_inner()都是公开可用的。另外,set_inner()和get_inner()是特权方法,因此它们可以通过闭包访问“内部”。 但是,我在任何地方都没有看到对此技术的任何参考。甚至道格拉斯·克罗克福德(Douglas Crockford)的JSLint也对此抱怨: 奇怪的建设。删除“新” 我们正在生产中使用这种技术,它似乎运行良好,但是我对此有些担心,因为它在任何地方都没有记录。有谁知道这是有效的技术吗?


4
使用反射在C#中创建没有默认构造函数的类型实例
以下面的类为例: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } 然后,我想使用反射创建此类型的实例: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); 通常这将起作用,但是由于SomeType尚未定义无参数构造函数,因此对的调用Activator.CreateInstance将引发类型异常,MissingMethodException并显示消息“未为此对象定义无参数构造函数。 ”是否还有其他方法可以创建此类型的实例?将无参数的构造函数添加到我的所有类中有点麻烦。

7
python是否与Java Class.forName()等效?
我需要使用字符串参数并在Python中创建以该字符串命名的类的对象。在Java中,我会使用Class.forName().newInstance()。Python中是否有等效的东西? 感谢您的答复。回答那些想知道我在做什么的人:我想使用命令行参数作为类名,并实例化它。我实际上是在Jython编程并实例化Java类,因此是问题的Java实质。 getattr()效果很好。非常感谢。


4
如何在Rails中从名称字符串实例化类?
我们如何在Ruby-on-Rails中从名称字符串实例化类? 例如,我们在数据库中使用“ ClassName”或“ my_super_class_name”之类的格式来命名它。 我们如何从中创建对象? 解: 我自己在寻找它,但没有找到,所以在这里。 Ruby on Rails API方法 name = "ClassName" instance = name.constantize.new 它甚至可以不格式化,我们可以使用用户字符串方法.classify name = "my_super_class" instance = name.classify.constantize.new 当然,这可能不是很“ Rails Way”,但它解决了它的目的。

2
PHP类实例化。使用还是不使用括号?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我一直认为-在没有构造函数参数的情况下-创建类实例时,括号(花括号)紧跟类名,是可选的,并且您可以根据自己的想法随意添加或排除它们。 这两个陈述是相等的: $foo = new bar; $foo = new bar(); 我对吗?还是我不知道的方括号有什么意义? 我知道这听起来像是一个RTM问题,但是我已经搜索了一段时间(包括整个PHP OOP部分),但似乎找不到一个直接的答案。
71 php  oop  class  instantiation 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.