Udemyintermediateja

オブジェクト指向の原則2:リスコフの置換原則と継承以外の解決方法

Learn the Liskov Substitution Principle in object-oriented programming. Understand inheritance guidelines and alternative solutions (C# examples). Improve code design!

4.5(755)
3,981students
3h 23m
Certificate
ピーコック アンダーソン
ピーコック アンダーソンC#,プログラミング,SQL

Course Content

オブジェクト指向の原則2:リスコフの置換原則と継承以外の解決方法 is an intermediate-level Udemy course taught by ピーコック アンダーソン. It runs 3h 23m, is taught in Japanese, and includes a certificate of completion. Learners rate it 4.5 out of 5 from 755 reviews, with 3,981 students enrolled. It is a paid course, last updated August 2024.

オブジェクト指向設計の基礎:リスコフの置換原則と継承以外の解決策

この解説では、オブジェクト指向プログラミングにおける重要な原則である「リスコフの置換原則」を深く掘り下げます。継承のガイドラインとして知られるこの原則に加え、継承が適切でない場合の解決策についても詳しく解説します。

リスコフの置換原則とは?

リスコフの置換原則は、ソフトウェア設計において、サブクラスは常にスーパークラスの代わりに利用可能であるべきという原則です。つまり、スーパークラスのオブジェクトをサブクラスのオブジェクトで置き換えても、プログラムの動作が変わってはいけないということです。

この原則は、オープン・クローズドの原則のガイドラインにもなり、正しい抽象化の利用を促します。原則に反するケースが発生した場合の対処法も、C#の実例を交えて解説します。

解説内容

  1. リスコフの置換原則の概要: 原則の基本的な概念と重要性について解説します。
  2. 原則に従っている例: リスコフの置換原則が正しく適用されているコード例を紹介します。
  3. 原則に従っている例:抽象クラス: 抽象クラスを用いた、原則に沿った設計例を解説します。
  4. 原則に従っている例:インターフェース: インターフェースを活用した、原則に沿った設計例を紹介します。
  5. 原則に従っている例:具象クラス: 具象クラスを用いた、原則に沿った設計例を解説します。
  6. 抽象クラスでの一部上書きの例: 抽象クラスにおけるメソッドのオーバーライドの適切な使い方を示します。
  7. 原則違反の例: リスコフの置換原則に違反するコード例を提示し、問題点を明確にします。
  8. 置換可能でない場合の問題点: 原則違反がもたらす潜在的なリスクについて解説します。
  9. 原則違反の例実装: 原則違反が実際にどのようにコードに現れるのか、具体的な実装例を示します。
  10. 継承とは: 継承の基本的な概念と、そのメリット・デメリットを解説します。
  11. 抽象に対してコーディングする: 抽象クラスやインターフェースに対してコーディングする際のポイントを解説します。
  12. 抽象に対してコーディングする実装例: 抽象クラスやインターフェースを用いた実装例を紹介します。
  13. クライアントは抽象に対してコーディングするイメージ: クライアントコードが抽象クラスやインターフェースに対してどのように記述されるべきかを示します。
  14. 知識が漏れ出すということ: 継承によってスーパークラスの知識がサブクラスに不要に伝達される問題点について解説します。
  15. データベースへの実装を遅らせる実装例: データベースへのアクセス処理を継承によって遅らせる例と、その問題点を示します。
  16. 知識が漏れ出すということの実装例: 知識が漏れ出す状況を具体的に示す実装例を解説します。
  17. 知識が漏れないように修正: 知識の漏洩を防ぐための修正方法を解説します。
  18. 抽象クラスにロジックを集めて知識が漏れるのを防ぐ: 抽象クラスにロジックを集約することで、知識の漏洩を防ぐ方法を紹介します。
  19. 知識を制限するという考え方: 継承による知識の伝達を制限する考え方について解説します。
  20. アクセスレベルで知識の漏れを防ぐ実装方法: アクセスレベルを適切に設定することで、知識の漏洩を防ぐ方法を解説します。
  21. 抽象に対して実装を強制する実装方法: 抽象クラスやインターフェースを通じて、実装を強制する方法を紹介します。
  22. 原則に従っていることのチェックポイント: リスコフの置換原則に従っているかを確認するためのチェックリストを提供します。
  23. 似てるから継承するという誤り: 似たようなクラスを安易に継承することの危険性について解説します。
  24. 似てるから継承するという誤りの実装例: 似たクラスを継承することによって生じる問題を示す実装例を提示します。
  25. 似てるから継承するという問題点まとめ: 似たクラスを継承することの問題点をまとめます。
  26. 継承させない実装: 継承を使わずに、より柔軟な設計を実現する方法を紹介します。
  27. 継承させない実装方法の例: 継承を使わずに、オブジェクト指向設計を行うための
$ whoami — the devs behind tutorialsearch.io

Need a web app built? Hire the team behind TutorialSearch.io

We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.