![]() |
1
1
不,你根本不能重新申报艾瓦尔。但是,您可以创建一个新的基于方法的属性,而无需创建新的ivar。
|
![]() |
2
0
@上课一点意义都没有。。。应该是@interface。所以第一个错误是纯粹的语法错误。 不,你不能改变ivar的类型。这有一个很好的原因:缩小范围(就像你做的那样)是行不通的,因为父类可能依赖于不同的实现。扩大它不能起到同样的作用(主要是因为类似的原因)。 |
![]() |
3
0
如果编译器说“不”,那就是你的答案。我将使用访问器:
在
直接访问ivar并不明智。我会重新考虑你的班级设计。有一个易变和不变的人的版本的理由是什么? |
![]() |
4
0
我结束了重写setter以断言所设置的对象属于适当的类型,并创建了一个新的只读getter,如下所示:
|
![]() |
Ihor M. · 块方法中的自性质提取 7 年前 |
![]() |
Eric Acevedo · 子类化DecimalField 7 年前 |
![]() |
Kijewski Jim · 抽象基类序列的issubclass 9 年前 |
|
John Smith · 如何子类Windows公共控件? 9 年前 |