
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
基礎文法を学んだけど、次どうしたらいいの?
もっとキレイなコードが書きたい
自分が書いたコードでも修正するとき解読するところから始めている
オブジェクト指向プログラミングは身につけるべき、と聞いた
こんな方のためのコースです。
自分が書いたコードがいつでも整理され、キレイに保たれ、バグが生じにくかったらどうでしょうか?
オブジェクト指向プログラミング (OOP) はそれを実現するための技術・フレームワークです。
ビルを作る場面では地面を深く掘って基礎を固め、震度7でも倒壊しない堅牢な材質・構造にしますよね。
プログラミングでも同じです。
規模の大きなプログラムを作ろうと思ったら必ず使われるもの。それがオブジェクト指向プログラミングです。
難しそうですか?
大丈夫。必要なのはPython基礎文法の知識だけです。
クラスの文法に自信がない?
大丈夫。クラス定義の基礎文法、デコレータの取り扱い方を復習するセクションがあります。
準備はいいですか? 楽しくゲームを開発しながらオブジェクト指向プログラミング学びましょう。
扱うテーマは「じゃんけん」と「ブラックジャック」です。
ゲーム開発が題材ですが「課題をOOPで整理整頓する」というフレームワークは実務でも役立ちます。
じゃんけんゲームはOOP入門に最適です。OOPは課題を整理し、役割ごとのクラス設計が需要ですが、じゃんけんは役割が明確でルールも単純。
まずはクラスを使わず関数のみで実装し、ゲームを完成させます。次に完成したゲームをOOPに沿ってリファクタリングします。
この過程であなたはオブジェクト指向プログラミングの利点が理解できるようになります。
じゃんけんゲームではこんなことを学びます。
オブジェクト指向は「現実世界の営み」をコードで表現する概念または技術の1つ、という考え方
クラスとインスタンスの違い
クラスを使わないパターンからつくり始め、徐々にクラスを使った実装にリファクタリングする方法
役割ごとにモジュールとクラスに整理整頓する方法
継承とオーバーライドを使ってクラスを作る方法
複数のインスタンスを協調して稼働させる方法
デコレータ`classmethod`の使い方
デコレータ`abstractmethod`を使ってメソッドの実装を強制する方法
ターミナルにアスキーアートを表示させて表現力を豊かにする方法
次はブラックジャックです。これはトランプを使ったゲームですね。じゃんけんと比べるとルールは複雑です。
じゃんけんで基礎を身につけたあとは複雑な課題を整理・解決する応用力を身につけましょう。
ブラックジャックではこんなことを学びます。
キャッシュを使ってアスキーアートを表示する方法 (ファイルIO(インプットアウトプット)は負荷が高いのでキャッシュという概念を学ぶ)
デコレータ`property`を使ってメソッドをプロパティのように参照する方法、プロパティ代入時に所定の処理を挟む方法
列挙型クラス(Enum)を使って関連する値をまとめる方法
クラス内のクラス(インナークラス)を使って整理する方法
ターミナルで文字に色を付ける方法
ターミナルをクリアして見やすくする方法
アスキーアート雛形に所定の文字を流し込む方法
オブジェクト指向プログラミングを身に付ければあなたの技術力は一段高い次元に上がります。
自分が書いたコードがいつでも整理され、キレイに保たれていたらどうでしょうか?
さあ。一緒にオブジェクト指向プログラミングを学びましょう。