2016-04-16 3 views
0

これはパフォーマンスに関して些細な疑問に思えるかもしれませんが、スウィフトでは、クラスをfinalと宣言すると、すべてのメソッドもfinalと宣言する必要があるのか​​、それとも余計な冗長性ですか?私は、具体的なクラスがfinalとして実行されていることを確認して、アプリケーションのセキュリティとパフォーマンスを最大限に高めたいと考えています。事前のヒント、知恵、知識をありがとう!あなたが最終的としてクラスを宣言した場合スウィフトの最終クラスと関数

+0

Dang。既に尋ねられました –

+1

コンパイラのビルド設定で「モジュール全体の最適化」をオンにすると、同様の効果があります。しかし、それはあなたのためにコンパイラによって行われているし、すべてのclasesを最終としてマークする必要はありません。欠点:それは、ライブラリではなく、アプリケーションでのみ機能し、ビルド時間を劇的に増加させます。しかし、例えば、 RELEASEビルド専用です。 – Darko

+0

@Darko「ma」は何ですか? –

答えて

2

スウィフトはまた、最終的なとしてのすべてのメソッドを宣言することが必要であるか、単に余計な冗長性

はい、それは冗長であるということです。クラスが最終的なものであれば、すべてのメンバは暗黙のうちに最終的です。あなたは動的ディスパッチを回避する効率と、あなたが何をしたいかを得ています。

+0

基本的にこれらのメソッドを最終的に作る必要はありませんか? –

+1

これらのメソッドのいずれかをどのようにオーバーライドできますか?サブクラスを作ることはできないので、オーバーライドする場所はありません。 – matt

関連する問題