Questions tagged «instance-variables»

在使用类进行面向对象的编程中,实例变量是在类中定义的变量(即成员变量),为此类的每个对象都有一个单独的副本。

8
servlet如何工作?实例化,会话,共享变量和多线程
假设我有一个Web服务器,其中包含许多Servlet。为了在这些servlet之间传递信息,我正在设置会话和实例变量。 现在,如果有2个或更多用户向该服务器发送请求,那么会话变量将如何处理? 它们对所有用户都是通用的还是对每个用户都是不同的? 如果它们不同,那么服务器如何区分不同的用户? 还有一个类似的问题,如果有n用户正在访问特定的servlet,那么仅当第一个用户第一次访问该servlet时才实例化该servlet,还是单独为所有用户实例化该servlet? 换句话说,实例变量将如何处理?

6
实例变量:self vs @
这是一些代码: class Person def initialize(age) @age = age end def age @age end def age_difference_with(other_person) (self.age - other_person.age).abs end protected :age end 我想知道的是in @age和self.agein age_difference_with方法之间的区别。

7
Ruby类实例变量与类变量
我读了“ 何时设置Ruby实例变量? ”,但是当使用类实例变量时,我有两个想法。 类变量由类的所有对象共享,实例变量属于一个对象。如果我们有类变量,那么使用类实例变量的空间就不多了。 有人可以解释这两者之间的区别以及何时使用它们吗? 这是一个代码示例: class S @@k = 23 @s = 15 def self.s @s end def self.k @@k end end p S.s #15 p S.k #23 我现在知道,类实例变量没有沿继承链传递!

5
@@ variable在Ruby中是什么意思?
Ruby变量在符号(@@)前面加双的是什么?我对以at符号开头的变量的理解是,它是一个实例变量,例如PHP: PHP版本 class Person { public $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } 相当于Ruby class Person def set_name(name) @name = name end def get_name() @name end end 符号双的@@含义是什么?与符号双的区别是什么?


10
如何在Python中获取实例变量?
Python中是否有内置方法来获取所有类的实例变量的数组?例如,如果我有以下代码: class hi: def __init__(self): self.ii = "foo" self.kk = "bar" 有没有办法让我做到这一点: >>> mystery_method(hi) ["ii", "kk"] 编辑:我最初是错误地要求类变量。

6
声明的属性是否需要相应的实例变量?
Objective-C 2.0中的属性是否需要声明相应的实例变量?例如,我习惯做这样的事情: MyObject.h @interface MyObject : NSObject { NSString *name; } @property (nonatomic, retain) NSString *name; @end MyObject.m @implementation @synthesize name; @end 但是,如果我改为这样做: MyObject.h @interface MyObject : NSObject { } @property (nonatomic, retain) NSString *name; @end 这仍然有效吗?它与我之前的示例有什么不同吗?

4
Ruby元编程:动态实例变量名称
假设我有以下哈希值: { :foo => 'bar', :baz => 'qux' } 我如何动态设置键和值以成为对象中的实例变量... class Example def initialize( hash ) ... magic happens here... end end ...这样我最终得到了模型中的以下内容... @foo = 'bar' @baz = 'qux' ?

11
CoffeeScript中的私人成员?
有人知道如何在CoffeeScript中成为私有的非静态成员吗​​?目前,我正在执行此操作,该操作仅使用以下划线开头的公共变量来阐明不应在类外使用它: class Thing extends EventEmitter constructor: (@_name) -> getName: -> @_name 将变量放在类中使其成为静态成员,但是如何使其变为非静态呢?甚至有可能没有得到“幻想”?

2
Objective-C中的ivars和属性之间有什么区别
这三种在Objective-C中使用ivars和属性的方式在语义上有什么区别? 1。 @class MyOtherObject; @interface MyObject { } @property (nonatomic, retain) MyOtherObject *otherObj; 2。 #import "MyOtherObject.h" @interface MyObject { MyOtherObject *otherObj; } @property (nonatomic, retain) MyOtherObject *otherObj; 3。 #import "MyOtherObject.h" @interface MyObject { MyOtherObject *otherObj; }



5
如何在Ruby中初始化模块的实例变量?
我有一些模块要在其中使用实例变量。目前,我正在像这样初始化它们: module MyModule def self.method_a(param) @var ||= 0 # other logic goes here end end 我也可以调用一个init方法来初始化它们: def init @var = 0 end 但这意味着我必须记住始终调用它。 有更好的方法吗?

1
Ruby Rspec:测试实例变量而不向源添加访问器
我正在尝试测试以下方法: def unprocess_move(board, move) if move[0].instance_of?(Array) multi_move = @multi_move.pop(2).reverse multi_move.each do |single_move| unapply_move(board, single_move) end else board = unapply_move(board, move) end board end 我想在这里设置@multi_move的状态,但是我不想添加访问器仅用于测试。没有访问者,有没有办法做到这一点?谢谢。


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.