11得票5回答
如何从外部访问ruby中的类变量?

我正试图从类外的一个方法中访问一个类变量。这是我的类:class Book @@bookCount = 0 @@allBooks = [] def self.allBooks @@allBooks end def self.bookCount @@bo...

23得票7回答
Java:获取类的属性以构建字符串表示

假设我有这样一个类(同时进一步假设所有私有变量):public class Item { private String _id = null; private String _name = null; private String _description = null...

11得票1回答
Python中类变量的继承

当我试图理解Python中的OOP时,遇到了一个令我困惑的情况,并且我无法找到满意的解释...... 我正在构建一个计数类(Countable class),它有一个计数器属性,用于计算已初始化的类实例数量。 我希望在子类(或子子类)初始化时也增加此计数器。以下是我的实现:class Coun...

160得票9回答
关于类变量,向上转型和向下转型有什么区别?

向上转型和向下转型在类变量方面有什么区别? 例如,在以下程序中,Animal类仅包含一个方法,但Dog类包含两个方法,那么我们如何将Dog变量强制转换为Animal变量。 如果进行转换,那么我们如何使用Animal的变量调用Dog的另一个方法。class Animal { publ...

14得票2回答
为什么应该避免在Ruby中使用@@类变量?

我知道有些人说在Ruby中应该避免使用类变量(例如@@class_var),而应该在类作用域中使用实例变量(例如@instance_var):def MyClass @@foo = 'bar' # Should not do this. @foo = 'bar' # Should d...

10得票2回答
为什么在Ruby中使用类变量被认为是'code smell'(坏味道)?

根据Reek,创建类变量被认为是一种“代码异味”。这背后的解释是什么?

191得票5回答
Ruby中的@@variable是什么意思?

双下划线变量(@@)是什么?我理解带有@符号的变量是实例变量,就像PHP中的这个: PHP版本class Person { public $name; public function setName($name) { $this->name = $n...

13得票1回答
在Ruby中,为什么在启动irb后,foo.nil?会显示未定义错误,@foo.nil?会返回"true",而@@wah.nil?又会再次出现错误?

在Ruby 1.8.7和1.9.2中相同:$ irb ruby-1.8.7-p302 > foo.nil? NameError: undefined local variable or method `foo' for #<Object:0x3794c> from ...

40得票4回答
为什么Java常量被声明为静态的?

为什么 Java 中的常量要声明为静态变量?class Foo{ static final int FII = 2 ; } 我理解final的用法,但为什么它必须是静态的呢?为什么它应该是一个类变量而不是实例变量?

29得票2回答
Ruby的attr_accessor如何产生类变量或类实例变量而不是实例变量?

如果我有一个使用attr_accessor的类,它默认会创建一个与相应getter和setter对应的实例变量。但是除了创建实例变量之外,是否有方法可以让它创建类变量或类实例变量呢?