我在Swift中有一个包含Shape类的Shapes模块。我刚刚打开了一个新游乐场,并将此模块添加到源文件中。操场中的Square类可以在Shapes模块中继承Shape类。没有问题,但在Shape类中的公共方法在方法类中被重写。
根据swift源代码,执行继承时只能覆盖打开的成员函数。
也许这是一个非常基本的问题,所以我很抱歉要问它。
答案 0 :(得分:0)
您应该在帖子中包含您尝试过的代码。
"只有在执行继承时才能覆盖打开的成员函数",我不认为Apple doc这样说。以下是公开课和公开课之间的区别:
开放式访问仅适用于类和类成员,并且它有所不同 从公共访问如下:
- 具有公共访问权限或任何更严格的访问级别的类只能在定义它们的模块中进行子类化。
- 具有公共访问权限或任何更严格的访问级别的类成员只能在模块中被子类覆盖 他们被定义了。
- 开放类可以在定义它们的模块中进行子类化,也可以在任何导入模块的模块中进行子类化。 定义
- 开放类成员可以被定义它们的模块中的子类覆盖,并且可以在任何导入它的模块中覆盖 他们被定义的模块。