2017-08-07 57 views
1

我在Swift中有一个Shapes模块,包括Shape类。我刚刚打开了一个新的操场,并将此模块添加到源文件中。 Square中的Square类可以在Shapes模块中继承Shape类。这是没有问题的,但Shape类中的公共方法在Square类中被覆盖。公开成员函数

根据swift来源,只有打开的成员函数可以在继承时被覆盖。

也许这是非常基础的问题,所以我已经对此抱歉抱歉。

+0

我说的是仅适用于构造不成员函数。公共初始化器可以被重写。 – Goktug

+0

语法和拼写编辑。 – Difster

回答

0
  1. 你应该在你的文章中包含你的代码。

  2. “只开放成员函数可以被覆盖在执行继承”,我不认为Apple doc说。这里是开放的,公共类之间的差异:

开放存取只适用于类和类成员,它不同于 从公共访问如下:

  • 类公共访问,或任何更具限制性的访问级别,只能在其定义的模块中进行分类。
  • 具有公共访问权限或任何更具限制性访问级别的类成员只能由定义它们的 模块中的子类覆盖。
  • 开放类可以在定义它们的模块内以及导入定义模块 的任何模块中进行子类化。
  • 打开的类成员可以被它们定义的模块中的子类覆盖,也可以在任何导入定义模块的模块中覆盖。