open和public的区别
新增open访问控制关键字后,对public的两种功能(外部调用和被继承/override)做了区分。和public一样,open被用来修饰class
和class中的成员
。新的public限定范围也做了调整。
修饰class
public:修饰的class只允许外部模块调用,但是不允许继承。
open:修饰的class既允许其他模块调用,也允许被子类继承。
修饰class中的成员
public:修饰的成员只允许其他模块调用,但不能被覆盖(override)。
open:修饰的成员既允许被其他模块调用,也允许成员被覆盖。
网友评论