标签: class

__init__和__call__有什么区别?

我想知道__init____call__方法之间的区别.

例如:

class test:

  def __init__(self):
    self.a = 10

  def __call__(self): 
    b = 20
Run Code Online (Sandbox Code Playgroud)

python oop class object callable-object

457
推荐指数
13
解决办法
21万
查看次数

将.apply()与'new'运算符一起使用.这可能吗?

在JavaScript中,我想创建一个对象实例(通过new运算符),但是将任意数量的参数传递给构造函数.这可能吗?

我想做的是这样的事情(但下面的代码不起作用):

function Something(){
    // init stuff
}
function createSomething(){
    return new Something.apply(null, arguments);
}
var s = createSomething(a,b,c); // 's' is an instance of Something
Run Code Online (Sandbox Code Playgroud)

答案

从这里的回复中可以清楚地看出,没有内置的方式.apply()new运营商通话.然而,人们提出了一些非常有趣的解决方案.

我首选的解决方案是Matthew Crumley的这个解决方案(我已将其修改为通过该arguments属性):

var createSomething = (function() {
    function F(args) {
        return Something.apply(this, args);
    }
    F.prototype = Something.prototype;

    return function() {
        return new F(arguments);
    }
})();
Run Code Online (Sandbox Code Playgroud)

javascript oop inheritance constructor class

451
推荐指数
11
解决办法
7万
查看次数

静态常量字符串(类成员)

我想为一个类(在这种情况下是一个形状工厂)有一个私有静态常量.

我想要有类似的东西.

class A {
   private:
      static const string RECTANGLE = "rectangle";
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我从C++(g ++)编译器中得到了各种错误,例如:

ISO C++禁止成员'RECTANGLE'的初始化

非整数类型'std :: string'的静态数据成员的无效类初始化

错误:使'RECTANGLE'静止

这告诉我这种成员设计不符合标准.如何在不使用#define指令的情况下拥有私有文字常量(或者可能是公共的)(我想避免数据全局性的丑陋!)

任何帮助表示赞赏.

c++ string static const class

429
推荐指数
8
解决办法
35万
查看次数

C++中struct和class之间有什么区别?

这个问题已在C#/ .Net的背景下提出.

现在我想学习C++中结构和类之间的区别.请讨论技术差异以及在OO设计中选择其中一个的原因.

我将从一个明显的区别开始:

  • 如果您没有指定public:or private:,则结构的成员默认是公共的; 默认情况下,类的成员是私有的.

我确信在C++规范的模糊角落中还有其他差异.

c++ oop struct class c++-faq

427
推荐指数
11
解决办法
34万
查看次数

类和模块之间的区别

我来自Java,现在我正在使用Ruby.

我不熟悉的一个语言功能是module.我想知道究竟是module什么,你什么时候使用一个,为什么要用module一个class

ruby module class

426
推荐指数
7
解决办法
14万
查看次数

JavaScript ES6类中的私有属性

是否可以在ES6类中创建私有属性?

这是一个例子.我怎样才能阻止访问instance.property

class Something {
  constructor(){
    this.property = "test";
  }
}

var instance = new Something();
console.log(instance.property); //=> "test"
Run Code Online (Sandbox Code Playgroud)

javascript class private-members ecmascript-6 es2015

410
推荐指数
17
解决办法
22万
查看次数

Swift类中的静态vs类函数/变量?

以下代码在Swift 1.2中编译:

class myClass {
    static func myMethod1() {
    }
    class func myMethod2() {
    }
    static var myVar1 = ""
}

func doSomething() {
    myClass.myMethod1()
    myClass.myMethod2()
    myClass.myVar1 = "abc"
}
Run Code Online (Sandbox Code Playgroud)

静态函数和函数有什么区别?我应该使用哪一个,何时使用?

如果我尝试定义另一个变量class var myVar2 = "",它会说:

类中尚未支持的类存储属性; 你的意思是'静态'吗?

当支持这个特性时,静态变量和变量之间的区别是什么(即两者都是在类中定义的)?我应该使用哪一个,何时使用?

(Xcode 6.3)

variables static class function swift

398
推荐指数
8
解决办法
14万
查看次数

为什么枚举类优于普通枚举?

我听说有些人因为类型安全而建议在C++中使用枚举.

但这究竟意味着什么?

c++ enums class c++-faq

376
推荐指数
8
解决办法
22万
查看次数

如何为HTML容器分配多个类?

是否可以将多个类分配给单个HTML容器?

就像是:

<article class="column, wrapper"> 
Run Code Online (Sandbox Code Playgroud)

html class

371
推荐指数
4
解决办法
53万
查看次数

具有多个类的Java泛型通配符

我想要一个Class对象,但我想强制它所代表的任何类来扩展A类并实现接口B.

我可以:

Class<? extends ClassA>
Run Code Online (Sandbox Code Playgroud)

要么:

Class<? extends InterfaceB>
Run Code Online (Sandbox Code Playgroud)

但我不能两者兼顾.有没有办法做到这一点?

java generics class bounded-wildcard

369
推荐指数
2
解决办法
14万
查看次数