instance-variables相关内容
有没有办法在python中为类声明抽象实例变量? 例如,我们有一个抽象基类Bird,其中抽象方法fly使用abc包实现,抽象实例变量feathers(我正在寻找的)实现为属性。 from abc import ABCMeta, abstractmethod class Bird(metaclass=ABCMeta): @property @abstractmetho
..
我有不错的编程水平,并从这里的社区中获得了很多价值。然而,我从来没有在编程方面有过太多的学术指导,也没有在真正有经验的程序员旁边工作过。因此,我有时会纠结于‘最佳实践’。 我找不到更好的地方来回答这个问题,尽管可能会有讨厌这类问题的煽动者,但我还是把它贴了出来。如果这让你心烦了,我很抱歉。我只是想学,不是惹你生气。 问题: 当我创建新类时,我是否应该在__init__中设置所有实
..
有人知道如何在 CoffeeScript 中创建私有的非静态成员吗?目前我正在这样做,它只是使用一个以下划线开头的公共变量来澄清它不应该在类之外使用: class Thing 扩展 EventEmitter构造函数:(@_name)->获取名称:->@_名称 将变量放入类中使其成为静态成员,但如何使其成为非静态成员?有没有可能不被“看中"? 解决方案 有没有可能不被“看中"?
..
在 Objective-C 中,我理解如果一个对象将自己设置为另一个对象的委托,它应该在其 dealloc 中将该对象的委托设置为 nil 以避免在它消失后收到发送的消息. 但是,当使用 Accessorizer(一个 Xcode 实用程序)时,它生成的存根代码也会在具有委托实例的类的 dealloc 中放置一个 delegate = nil多变的.这样做的目的是什么? 解决方案 这
..
我正在实现一个与集合几乎相同的对象,但需要一个额外的实例变量,所以我将内置集合对象子类化.在复制我的一个对象时,确保复制此变量的值的最佳方法是什么? 使用旧的 sets 模块,以下代码完美运行: 导入集类Fooset(sets.Set):def __init__(self, s = []):sets.Set.__init__(self, s)如果是实例(s,Fooset):self.foo
..
在 Objective-C 中指望 ints 总是被初始化为 0 是否安全? 更具体地说,当新实例化具有 int ivars 的对象时,假设其 ivars 的值为 0 是否安全? 解决方案 是的,类实例变量总是初始化为0(或nil、NULL或false,具体取决于确切的数据类型).请参阅 Objective-C 2.0 编程语言: alloc 方法为新对象的实例变量动态分配内存
..
我正在考虑: X 类定义新()@a = 1结尾定义米(其他)@a == 其他.@a结尾结尾x = X.new()y = X.new()x.m(y) 但它不起作用. 错误信息是: 语法错误,意外的 tIVAR 那么我如何比较同一类的两个私有属性呢? 解决方案 有几种方法 吸气剂: X 类attr_reader:一个定义米(其他)a == 其他.a结尾结尾 instan
..
Python 为我们提供了很多关于实例/类属性的可能性,例如: A 类(对象):def __init__(self):self.foo = "你好"a = A() 有很多方法可以访问/更改self.foo的值: 直接访问a.foo 内部字典 a.__dict__['foo'] 获取和设置a.__get__和a.__set__,当然还有两个预定义的方法. getattribute a
..
我遇到了一个用 Objective C 编写的库(我只有头文件和 .a 二进制文件).在头文件中是这样的: @interface MyClass : MySuperClass{//这里没有什么}@property (nonatomic, 保留) MyObject anObject;- (void)someMethod; 我怎样才能达到同样的目的?如果我尝试在接口的 {} 中声明一个没有相应 i
..
假设我有一个 Gift 对象,其中 @name = "book" &@price = 15.95.将其转换为 Ruby 中的 Hash {name: "book", price: 15.95} 的最佳方法是什么,而不是 Rails(尽管也可以随意给出 Rails 的答案)? 解决方案 class Gift定义初始化@name = "书"@价格 = 15.95结尾结尾礼物 = Gift.ne
..
我正在读一本关于 Objective-C 的书,作者说如果局部变量没有赋值,它们将被设置为 nil,但静态变量将被设置为零.所以,我设置了 int a 并且没有给它赋值.然后 NSLog(@"%i", a) 显示它并且 a 显示为零.我对此有点困惑,我想知道是否有人可以为我澄清一下? 解决方案 启用 ARC 后,无论您在何处创建它们,Objective-C 对象指针变量都将设置为 nil.
..
我正在尝试创建类来封装电子邮件、URL、电话号码等对象的验证和逻辑.在第一次尝试中,我发现我在所有类中重复了相同的代码,特别是 static IsValid 和 Constructor .所以我决定创建一个基类来将所有相同的代码放入其中.所以有一个基类,其他类继承它.它是抽象,因为我不希望它直接使用. 公共抽象类 BaseClass{受保护的字符串值;私人布尔是有效的;public bool I
..
这道题的题目实际上是之前的一道试题,我正在寻求澄清/答案. 请注意,我正在学习 Java 并且正在熟悉它的语法. 我知道之前可能有人问过这个问题,如果可能的话,有人可以告诉我在哪里可以访问这个问题吗?如果是这种情况,也请接受我的道歉.为了表明我一直在研究这个领域,我自己的理解是实例变量属于某个类(模板)的对象/实例,并且可以在需要时在该实例/对象内更改(变异). 类变量是只有一个
..
在 Rails 3.1 中,无法使用诸如 之类的语法访问资产 js.erb 或 coffee.erb 文件中的控制器实例变量,其中 @foo 在控制器中设置.那么问题是将控制器变量传递给 CoffeeScript 或 JavaScript 资产的最佳方法是什么. 这个问题在论坛上以多种复杂的形式被问过,但我再次提出这个问题的目的是有一个地方可以将所有建议聚集在一起,并
..
我希望子类从其父类继承类级实例变量,但我似乎无法弄清楚.基本上我正在寻找这样的功能: 类Alphaclass_instance_inheritable_accessor :foo #@foo = [1, 2, 3]结尾类 Beta Alpha.bar# [1, 2, 3]>Beta.bar#
..
我有一个定义了两个动作的 rails 控制器:index 和 show.我在 index 操作中定义了一个实例变量.代码如下: def 索引@some_instance_variable = foo结尾高清秀# 一些代码结尾 如何访问show.html.erb模板中的@some_instance_variable? 解决方案 除非您从 index 操作渲染 show.html.erb,
..
我读过 @synthesize 会自动为 @property 创建相应的实例变量,默认情况下 ivars 是 @protected.但是,如果我使用类扩展(如下所示)来指示 @property 方法是私有的怎么办? //Photo.m@界面照片 ()@property (nonatomic, 保留) NSMutableData *urlData;@结尾 相应的 ivar 会是 @private
..
我倾向于只在我的类中使用属性,特别是现在您可以在类扩展中声明属性,这要归功于现代的 Objective-C 2.0 运行时——我使用这个特性来创建“私有"属性. 我的问题是,是否有充分的理由再在类接口中声明 ivars.我更喜欢我的面向公众的界面尽可能简洁和干净,只显示我的类的相关方面. 例如,我倾向于执行以下操作: MyClass.h: @interface MyClas
..
这 3 种在 Objective-C 中使用 ivars 和属性的方式之间的语义区别是什么? 1. @class MyOtherObject;@interface MyObject {}@property (nonatomic, retain) MyOtherObject *otherObj; 2. #import "MyOtherObject.h"@interface MyObjec
..
我的问题涉及在类构造函数之外的方法中初始化的实例变量.这是针对 Python 的. 我先说说我的理解: 类可以定义构造函数,也可以定义其他方法. 实例变量通常在构造函数中定义/初始化. 但是实例变量也可以在构造函数之外定义/初始化,例如在同一类的其他方法中. (2) 和 (3) 的例子——参见 Cat 中的 self.meow 和 self.roar下面的类: class
..