カテゴリー
Python

クラスの継承について知ろう1

この章ではクラスの継承について説明します。
親クラスの機能を引き継ぐクラスであるサブクラスを作成することを継承といいます。
親クラス(スーパークラスとも言います)とは元のクラスのことで、以下の例ではBankクラスがこれに該当します。
サブクラス(子クラスとも言います)とは親クラスの機能を引き継いだクラスです。
以下の例ではShoukenクラスがこれに該当します。
子クラスは親クラスのメソッドや変数を全て使うことができますので、子クラスでは親クラスのメソッドや変数をあえて書く必要はありません。
子クラスではゼロから親クラスにあるメソッドや変数を作らなくていいので、プログラムがすっきりします。
BankはShoukenを内包しているので継承関係が成り立つわけで、まったく関係ないクラス同士を継承させても意味はありません。
例えばCarクラスとBankクラスは全く機能が違うので、継承関係にしても意味がありません。
では例をみてみましょう。9999999 結果は次の通りです。9 クラスの継承は以下の構文で書きます。9 例では9の箇所です。
以下の通り、子クラスのメソッド内では親クラスの変数を使うことが出来ますが、形式は9です。9 子クラスは親クラスのメソッドや変数を全て使うことができますので、以下の通り子クラスのオブジェクトから親クラスのメソッドを使うことができます。9
次にオーバーライドについて説明します。
子クラスでは親クラスのメソッドと同じ名前で内容だけ違うメソッドを作成することが出来ます。
これをオーバーライドと言います。
メソッド名は変えずに、子クラス独自の内容に変えることが出来ます。99999

カテゴリー
Ruby

selfについて知ろう

この章ではselfについて説明します。
では例をみてみましょう。9999 selfはメソッド内で実行されると、そのメソッドを実行しているオブジェクト自身を参照することが出来ます。
この例ではchangeメソッドの中でmyname変数の中身を変えていますが、ローカル変数とインスタンス変数の名前が同じです。
そこでselfをインスタンス変数の前に9と言う形式で付けることでローカル変数ではなくでインスタンス変数を指し示すことが出来ます。9 では次の例をみてみましょう。999 では説明を始めます。
selfは他にもクラスメソッドを作成する際にも使われます。
クラスメソッドは9と言う形式でしたが、9と言う形式でも書くことも出来ます。