Tag: 初始化器

多重构造函数:Pythonic的方式?

我有一个持有数据的容器类。 当容器被创build时,有不同的方法来传递数据。 传递一个包含数据的文件 直接通过parameter passing数据 不要传递数据; 只需创build一个空容器 在Java中,我会创build三个构造函数。 下面是Python中可能的样子: class Container: def __init__(self): self.timestamp = 0 self.data = [] self.metadata = {} def __init__(self, file): f = file.open() self.timestamp = f.get_timestamp() self.data = f.get_data() self.metadata = f.get_metadata() def __init__(self, timestamp, data, metadata): self.timestamp = timestamp self.data = data self.metadata = metadata 在Python中,我看到了三个明显的解决scheme,但都不是很漂亮: 答 :使用关键字参数: def […]

在Objective-C中相当于静态构造函数?

我是新来的目标C,我还没有能够找出是否有相当于静态构造函数的语言,这是一个类中的静态方法,将自动在这样的类的第一个实例之前被调用被实例化。 还是我需要自己调用初始化代码? 谢谢

C ++:数组的构造函数初始化器

我有一个大脑痉挛…如何在C ++中正确初始化一个对象数组? 非数组示例: struct Foo { Foo(int x) { /* … */ } }; struct Bar { Foo foo; Bar() : foo(4) {} }; 数组示例: struct Foo { Foo(int x) { /* … */ } }; struct Baz { Foo foo[3]; // ??? I know the following syntax is wrong, but what's correct? Baz() : […]

Java中的静态初始化器

我的问题是关于static关键字的一个特定用法。 可以使用static关键字来覆盖不属于任何函数的类中的代码块。 例如下面的代码编译: public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } } 如果你删除static关键字,它会抱怨,因为variablesa是final 。 但是可以删除final和static关键字并进行编译。 这两个方面让我感到困惑。 我应该如何有一个不属于任何方法的代码部分? 怎么可能调用它? 一般来说,这种用法的目的是什么? 或者更好,我在哪里可以find有关这方面的文档?