タグ:OOP

JavaScriptのクロージャを利用したprivate staticメンバ

JavaScriptには、アクセス修飾子がないため、クラスに属するstaticプロパティやstaticメソッドを外部からアクセスできないようにすることはできません。しかし、クロージャを使うことにより、privateなstaticプロパティやstaticメソッドに似た機能を実現することができます。

JavaScriptでのprototypeを利用したクラスの継承

JavaScriptは、プロトタイプベースのオブジェクト指向言語であるため、クラスベースのプログラミング言語で使われるextendsのようなクラスを継承するための特別な構文はありませんが、prototypeを利用することにより、継承の機能を実現することができます。

JavaScriptにおけるクラス定義

JavaScriptは、プロトタイプベースのオブジェクト指向をサポートしています。クラスベースのオブジェクト指向言語に比べて記述は大きく異なりますが、JavaScriptでもクラスを利用することができます。

JavaScriptの無名関数を利用した名前衝突の回避

JavaScriptは、言語として名前空間をサポートしておらず、また変数や関数を上書きすることができるため、特に複数人で開発する場合などに名前の衝突が問題になる場合があります。無名関数のローカルスコープを利用することで、変数名や関数名の衝突を効率的に回避することができます。

PHPのオートロード

PHPでは、一般的に1つのクラス定義に対して、1つのPHPファイルを作成します。オブジェクト指向でプログラミングすると様々なクラスファイルを作成することになりますが、その都度requireやincludeで読み込むのは非常に手間がかかります。そこで、これを解決する手段として、PHPではオートロードという仕組みが用意されています。

PHPのインターフェイス

インターフェイスとは、クラスに特定のメソッドの実装を義務づけるとともに、そのクラスがそれらのメソッドを持っていることを保証するオブジェクト指向の仕組みです。機能的には抽象クラス(アブストラクトクラス)に似ていますが、インターフェイスは継承関係に縛られることなく複数のクラスに共通の仕様と資格を与えることができます。

PHPのマジックメソッド

マジックメソッドとは、オブジェクトに対して特定の操作が行われた時に自動的に呼ばれる特殊なメソッドです。マジックメソッドを使うと特定の処理に対するオブジェクトの挙動を変更することができるため、PHPでクラスを扱う上でのメリットの一つと言えます。マジックメソッドは、必要なければ省略することもできます。

PHPの抽象クラス(アブストラクトクラス)

抽象クラス(アブストラクトクラス)とは、継承されることを前提に定義する抽象的なクラスです。抽象クラスをうまく利用することにより、複数人で作業する際の仕様の統一、効率的な設計、メンテナンス性の向上など様々なメリットが生まれます。

PHPのクラスの継承

クラスの継承とは、定義済みのクラスの機能を引き継いで、新しいクラスを定義することです。このとき、継承する基のクラスをスーパークラス(親クラス、基底クラス)といい、継承して新たに作られるクラスをサブクラス(小クラス、派生クラス)といいます。継承をうまく利用することで、より効率的にプログラミングすることができます。

PHPのクラス

PHPには、オブジェクト指向プログラミングのための機能が用意されています。クラスを利用することにより、効率的なプログラミング、メンテナンス性の向上、別プロジェクトにおけるプログラムの再利用といった多くの恩恵を受けることができます。

1 / 212