メソッド、プロパティ、サブスクリプトがオーバーライドされることを final で防ぐことができます。そうするには、メソッド、プロパティ、サブスクリプトのキーワードの前に final を(final varfinal funcfinal class funcfinal subscript のように)記述します。

サブクラスで final なメソッド、プロパティ、サブスクリプトをオーバーライドしようとすると、コンパイル時エラーとなります。エクステンションでクラスに追加するメソッド、プロパティ、サブスクリプトにも、エクステンションの定義内で final にすることができます。

クラス定義で class キーワードの前に final を記述 (final class) して、クラス全体を final にすることができます。final なクラスからサブクラス化しようとすると、コンパイル時エラーとなります。


Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.