「どうやって走行するかが違う」というところが大事だね。「どうやって走行するか」っていう事柄に対して、その特徴(「どうやって」の部分)が何パターンかある。気付けたら、設計の方針が何パターンか出せるね。抽象クラスを設けて、サブクラスで走行方法の差分を実装する。インターフェース設けて、実装クラスで走行方法を実装する。抽象クラスにするか、インターフェースにするかは、共通度合いとかで使い分けたりするかな。あとは、実装言語の仕様とかも気にしないといけないね。)じゃあさ、具体的に「どうやって走行するか(実装であったり制御方法であったり)」は後で考えるとして、「走行の仕方」って捉えられそうなモノをピックアップしてまとめてみよう。親クラス、、、抽象度の高い表現で「走行状態」とでもしておこっか。この「走行状態」クラスのサブクラスになりそうなものは、走り方だから、難所とかだよね、、、っと、こんな感じかな。「平面走行」と「坂道走行」は「ベーシックステージ走行状態」という一つのクラスにまとめたよ。それって、動作だから「走行体」にさせれば良いんじゃないの?「走行体」がマーカーを感知して、状態を切り替える。永和システムマネジメント永和システムマネジメントに2011年入社。永和システムマネジメント永和システムマネジメントに2011年入社。学生時代に二度ETロボコンに参戦。配属されてから役に立ちそうな技術・知識を盗むべく奮闘中。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。