iOS open和public的区别

iOS open和public的区别,第1张

新增open访问控制关键字后,对public的两种功能(外部调用和被继承/override)做了区分。和public一样,open被用来修饰 class 和 class中的成员 。新的public限定范围也做了调整。

public:修饰的class只允许外部模块调用,但是不允许继承。

open:修饰的class既允许其他模块调用,也允许被子类继承。

public:修饰的成员只允许其他模块调用,但不能被覆盖(override)。

open:修饰的成员既允许被其他模块调用,也允许成员被覆盖。

如果class声明为public,那么class的成员变量不能为open,因为public class已被限定为不可继承

其他模块继承覆盖父类的成员时,也需要把成员声明为open


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/132238.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存