6-2 Extensionの利用
ポイント:Extensionにより既にあるクラスを拡張できる
Extensionは、クラスを拡張するための仕組みです。Extensionを作成することで、既にあるクラスに新たな機能を付け加えることができます。これは次のように記述します。
Extension の書き方
extension クラス {
......追加する内容......
}
Extensionは何でも拡張できるわけではなく、プロパティはComputedプロパティしか拡張できません。また、Extensionは継承とは違うので、既にあるメソッドをオーバーライドすることはできません。あくまで「今あるクラスにそのまま機能を付け足す」というものであることを理解して使う必要があります。
Extensionについて
クラスを拡張する場合、そのクラスを継承したサブクラスを定義する、というのはオブジェクト指向の基本です。が、このやり方は「機能を拡張した別のクラスを用意する」ということであり、クラスそのものを改変するわけではありません。
一般的には、継承を使った拡張で十分でしょうが、時には「継承ではなく、既にあるクラスそのものを拡張したい」というようなこともあります。例えば、StringなどSwiftに用意されている型を拡張したい、と思ったら、継承はあまり役には立ちません。Stringリテラルなどまで含めてすべてをStringのサブク
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録