iOS的常见问题---Object-C有私有方法吗?私有变量呢?多重继承?

来源:互联网 发布:sgd算法 矩阵分解 编辑:程序博客网 时间:2024/05/01 00:02

问题:Object-C有私有方法吗?私有变量呢?多重继承?

①objective-c – 类里面的方法只有两种, 静态方法和实例方法.
在Objective‐C中,所有实例变量默认都是私有的,所有实例方法默认都是公有的

②这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西. 如果没有了私有方法的话, 对于一些小范围的代码重用就不那么顺手了. 在类里面是可以声名一个私有方法的,即延展。

③即OC中有私有变量:private修饰。OC中没有设计私有的方法。通过延展在实现文件里面定义方法作为私有的方法。但是这不是真正意义上的私有方法。(注意类目和延展的区别)

④无多继承:所有类都是NSObject的子类,通过protocol委托代理来实现多继承的效果(协议定义的方法不一定都要实现,@required下的方法必须实现,而java中的接口方法必须都要实现,这点上还是有区别的)

⑤代码示例:
@interface Controller : NSObject { NSString *something; }

  • (void)thisIsAStaticMethod;

– (void)thisIsAnInstanceMethod;

@end

@interface Controller (private) -

(void)thisIsAPrivateMethod;

@end

0 0
原创粉丝点击