Tag: 构造函数

为什么构造函数不能是最终的

为什么不能构造函数在Java中是最终的,静态的或抽象的? 例如,你能向我解释为什么这是无效的吗? public class K { abstract public K() { // … } }

创build一个类的实例

第1,2,3,4行有什么区别? 我什么时候使用每个? 为什么第3行打印constructor Foo和第7行返回一个错误,第8行不? #include <iostream> using namespace std; class Foo { public: Foo ( ) { cout << "constructor Foo\n"; } }; class Bar { public: Bar ( Foo ) { cout << "constructor Bar\n"; } }; int main() { /* 1 */ Foo* foo1 = new Foo (); /* 2 */ Foo* foo2 […]

将NULL传递给构造函数

我不明白为什么构造函数与参数Double[] ? using System.Collections.Generic; using System.Linq; using System.Text; namespace MyConsoleApp { class Program { static void Main(string[] args) { D myD = new D(null); Console.ReadLine(); } } public class D { public D(object o) { Console.WriteLine("Object"); } public D(double[] array) { Console.WriteLine("Array"); } public D(int i) { Console.WriteLine("Int"); } } } 我认为,因为第一个构造函数采用引用types的参数。 带引用参数的第一个构造函数,因为null是引用types的默认值。 但我不明白为什么不object ,这也是一个参考types。

在__init__外定义的实例属性attribute_name

我分开我的类构造函数,让它调用多个函数,如下所示: class Wizard: def __init__(self, argv): self.parse_arguments(argv) self.wave_wand() # declaration omitted def parse_arguments(self, argv): if self.has_correct_argument_count(argv): self.name = argv[0] self.magic_ability = argv[1] else: raise InvalidArgumentsException() # declaration omitted # … irrelevant functions omitted 当我的翻译高兴地运行我的代码时,Pylint有一个抱怨: Instance attribute attribute_name defined outside __init__ 粗略的谷歌search目前没有结果。 保持__init__所有构造函数逻辑似乎没有组织,并且closuresPylint警告也似乎是黑客行为。 什么是Pythonic解决这个问题的方法?

base()和this()构造函数的最佳实践

在什么条件下,我应该做:base()和:this()构造函数调用遵循我的构造函数的括号(甚至在代码中的其他地方)。 什么时候这些被称为良好做法,什么时候是强制性的?

在施工前发送对象的引用

我在我们的一个应用程序中看到了下面的代码: public class First() { private Second _second; public First() { _second = new Second(this); // Doing some other initialization stuff, } } public class Second { public Second(First f) { } } 在First()构造函数中, 在完全构造之前发送First()类的引用是否不坏? 我在想,只有当控制逻辑离开构造函数时,对象才被完全构造。 还是这样好吗?

数据构造器在GHC-7.6中的推广

我有这样的代码: class SymbolSet tpe where data Symbol tpe :: * data SSet tpe where Identity :: tpe -> SSet tpe And :: SSet tpe -> Symbol tpe -> SSet tpe class HasElem ab where instance (SymbolSet tpe) => HasElem (And (Identity tpe) s) s instance (HasElem sset s) => HasElem (And sset s) s 正在编写GHC-7.4。 […]

__construct()vs SameAsClassName()在PHP中的构造函数

使用__construct()代替PHP中的构造函数的类名是否有优势? 例: class Foo { function __construct(){ //do stuff } } 要么 class Foo { function Foo(){ //do stuff } }

为什么构造函数不返回值?

请告诉我为什么构造函数不返回任何值。 我想要一个完美的技术理由向我的学生解释为什么构造函数没有任何返回types。

使用C#reflection调用构造函数

我有以下情况: class Addition{ public Addition(int a){ a=5; } public static int add(int a,int b) {return a+b; } } 我打电话给另一个classjoin: string s="add"; typeof(Addition).GetMethod(s).Invoke(null, new object[] {10,12}) //this returns 22 我需要一种类似于上述reflection语句的方法来创build一个使用Addition(int a)types的新对象, 所以我有strings= "Addition" ,我想创build一个新的对象使用reflection。 这可能吗?