テクノロジー

pythonの基礎:「クラスの継承」

k-99's icon'
  • k-99
  • 2022/11/22 13:59
Content image

クラスとは、pythonデータ処理をする時のテンプレートです。

クラスの継承とは、テンプレートの再利用です。

既に作ったテンプレート再利用して新しいテンプレートを作るイメージです。

 

【この記事はこんな方に向けて書いています】

・pythonのクラスについて勉強したい

・クラスの継承について勉強したい

 

【目次】

・クラスの継承

・子クラスでメソッド定義

・子クラスのインスタンス化

・子クラスのメソッドを呼び出す

・子クラスから親クラスのメソッドを呼び出す

・オーバーライド

・まとめ

 

クラスについては、こちらの記事で簡単に解説していますのでよければご覧下さい。

 

【クラスの継承】

上記の記事で作ったクラス(テンプレート)がこちらです。

Content image

 

既に作ったお祝いメッセージを取得するクラスを再利用する時は

class 子クラス名(親クラス名)

と記述します。

新しいクラス「子クラス」元のクラス「親クラス」と言います。

 

Content image

このように親クラス(celebration)を、子クラス(season)継承します。

「pass」の記述は、まだ処理することがない時に書きます。

 

【子クラスでメソッド定義】

子クラス(season)でも、メソッドを定義してみます。

Content image

#autumnメソッド:autumnメソッドを呼び出すと「綺麗な紅葉の季節ですね」と出力するように定義します。

 

【子クラスのインスタンス化】

次に子クラスインスタンス化します。

インスタンス化とは、クラスを使うために実体化するイメージです。

Content image

変数season1に、子クラスseasonを代入します。

 

これで子クラスseasonインスタンス化ができました。

たこ焼き器から、たこ焼きができたとイメージすると理解しやすいかと思います。

 

【子クラスのメソッドを呼び出す】

子クラスseasonインスタンス化ができたので、子クラスで定義したautumnメソッドを呼び出してみます。

Content image
上がコード・下が実行結果

autumnメソッドを呼び出すと「綺麗な紅葉の季節ですね」と出力するように定義しておいたので、autumnメソッドを使ってメッセージが取得できました。

 

【子クラスから親クラスのメソッドを呼び出す】

子クラスから親クラスメソッドを呼び出す時は

インスタンス化した子クラス名.親クラスのメソッド

と記述します。

インスタンス化した子クラス名とは、上記の「season1」です。

 

親クラス定義したmarriageメソッドを、子クラスから呼び出してみます。

Content image
上がコード・下が実行結果

marriageメソッドを呼び出し、お祝いメッセージが取得できました。

 

【オーバーライド】

オーバーライドとは、上書きのことです。

親クラス定義したメソッドと同じものを子クラス再定義すると、メソッド上書きされます。

 

ここでは、親クラスmarriageメソッドオーバーライドしてみます。

Content image

#オーバーライド:marriageメソッドを呼び出すと「披露宴楽しみにしています」と出力するように再定義します。

 

再度、子クラスseasonインスタンス化します。

Content image

 

再定義したmarriageメソッドを、子クラスから呼び出してみます。

Content image
上がコード・下が実行結果

marriageメソッドオーバーライドできました。

まとめ

・クラスとは、pythonでデータ処理をする時のテンプレート

・クラスの継承とはテンプレートの再利用

・オーバーライドとは上書きのこと

 

ここまで読んで頂きありがとうございました。

Content image

 

Twitter

 

-------------------------------------------------------------------------------------

当ブログの記事一覧(カテゴリー別)

 

 

 

 

 

 

Supporter profile iconSupporter profile icon
Article tip 2人がサポートしています
獲得ALIS: Article like 16.81 ALIS Article tip 5.20 ALIS
k-99's icon'
  • k-99
  • @k-99
python初学者です。pythonで勉強した内容を自分なりにわかりやすくアウトプットしていきます、よろしくお願いします。Twitter:@python_begin

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS