ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿はオブジェクト指向言語の共通事項に関する記事です。
オブジェクト指向とは、継承とは、等々。Java / PHP / C# / Python / C++ など多くの言語に共通する考え方を整理しています。
子ページから項目を選択してください。
本ページの子ページ一覧
| 項目 | 概要 |
|---|---|
| オブジェクト指向の概念 | クラスとインスタンス、状態と振る舞いの分離 |
| 継承の概念と必要性 | 共通機能の再利用、is-a 関係 |
| ポリモーフィズム(多様性)の概念と必要性 | 同じ呼び出しが型ごとに異なる振る舞い |
| 抽象クラスの概念と必要性 | 共通骨格を定義し、具象は子に任せる |
| インターフェースの概念と必要性 | 実装を強制する型契約 |
| カプセル化の概念と必要性 | 内部状態を隠蔽し、外部からの操作を制限 |
オブジェクト指向の3大要素
| 要素 | 意味 | 使う目的 |
|---|---|---|
| カプセル化 | データと操作をクラス内に閉じ込め、外部からは限定された方法でのみ操作可能にする | 不整合な内部状態を防ぐ |
| 継承 | 既存クラスを土台に新しいクラスを定義する | 共通機能の再利用、共通インターフェース化 |
| ポリモーフィズム | 同じインターフェースで異なる実装を呼び分ける | 呼び出し側の変更なしに振る舞いを差し替え可能 |
関連する概念
- クラス: 設計図。属性(フィールド)と振る舞い(メソッド)を持つ
- インスタンス: クラスを実体化したもの
- コンストラクタ: インスタンス生成時に呼ばれる初期化メソッド
- 抽象クラス: インスタンス化できず、継承前提のクラス
- インターフェース: 実装すべきメソッドの契約
- アクセス修飾子:
public/protected/privateによる可視性制御 - オーバーライド: 親クラスのメソッドを子クラスで再定義
- オーバーロード: 同名メソッドを引数違いで複数定義(言語によって対応/非対応)
SOLID原則
オブジェクト指向で品質の高い設計をするためのガイドラインです。
| 原則 | 意味 |
|---|---|
| S Single Responsibility | クラスは1つの責任だけ持つ |
| O Open/Closed | 拡張に開き、修正に閉じる |
| L Liskov Substitution | 派生型は基底型と置き換え可能 |
| I Interface Segregation | 不要なメソッドを持たない小さいインターフェースに分ける |
| D Dependency Inversion | 具象ではなく抽象に依存する |
関連
- 親カテゴリ: プログラミング言語
- 各言語の文法: Javaの文法 / PHPの文法
- 具体的なポリモーフィズム実装例: ポリモーフィズム(多様性)の具体例
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- クイックスタート 2026-05-15 09:54:54
- クイックスタート & チュートリアル(初心者向け) 2026-05-15 09:54:54
- コントローラーにてモデルに値を格納してビューに渡す方法 2026-05-15 09:54:54
- バリデーション 2026-05-15 09:54:54
- HTML とは?タグ・構造・現代の使い方 2026-05-15 09:54:19
- 【Veu.js】for 繰り返し処理 2026-05-15 09:54:19
- ExpressとEJSを使用した簡単なアプリ【node.js】 2026-05-15 09:54:19
- EJSにおけるテンプレートの共通化(組み込み) 2026-05-15 09:54:19
- 【Vue.js】modelとdata フォーム入力値とDOMへの即時反映 2026-05-15 09:54:19
- 【Veu.js】ifの条件分岐とtemplateを用いたグループ化 2026-05-15 09:54:19
- jQueryにおける子要素の削除 2026-05-15 09:54:19
- EJSの値の表示と処理の記述 2026-05-15 09:54:19
- Symfony 2026-05-15 09:54:19
- CakePHPとは 2026-05-15 09:54:19
- Vue.js computed (算出プロパティ) と data / methods との違い|キャッシュとリアクティブ 2026-05-15 09:54:19
コメントを削除してもよろしいでしょうか?