北郷

名前空間

名前空間で衝突回避

開発は一人で行うことは少ないですし、一人で全て開発するとしてもクラスなどの数が多くなってくると同じ名前になってしまう恐れがあります。回避するために名前を長くなって無駄に冗長化してしまいます。そこで名前空間を利用します。Javaではパッケージ...
例外

エラー発生時のための例外処理

プログラムが動いている最中に、予期せぬエラーが発生した場合は何の準備もないとプログラムが止まってしまいます。そこで、エラーが起こりそうな処理を行う時に例外処理を行うことで、エラーが発生した場合でもプログラムを止めないようにすることができます...
オーバーロードと参照

参照

参照の基本 まず参照による代入について見てみます。 $num1 = 100; $num2 =& $num1; //参照代入演算子で渡す $num3 = $num1; //値そのものを渡す 上のコードでは$num2には参照代入演算子で渡してお...
オーバーロードと参照

オーバーロード

オーバーロードとは、引数の後世の違いによって同じ名前のメソッドを分けて呼び出すテクニックです。オーバーライドと似ていますが異なる処理を実行するメソッドが呼ばれるという点が違います。PHPにおけるオーバーロードは、プロパティやメソッドを動的に...
継承とインターフェース

インターフェース

ポリモーフィズムを実現するために抽象クラスを利用することは便利ですが、多重継承が出来ないので全てのメソッドを1つの抽象クラスにまとめなくてはなりません。サブクラスの用途によっては必要のないメソッドまでオーバーライドしなくてはならないので面倒...
継承とインターフェース

抽象クラスと抽象メソッド

ポリモーフィズムを実現するにはスーパークラスで定義されたメソッドをサブクラスで必ずオーバーライドするようにしなければいけません。そのためにスーパークラスのメソッドを抽象メソッドとして定義します。抽象メソッドを定義すればサブクラスでオーバーラ...
継承とインターフェース

ポリモーフィズム

オーバーライドはスーパークラスのメソッドを上書きし、サブクラス独自のメソッドに再定義します。これによって、どのクラスをインスタンス化するかによって呼び出すメソッドが決められます。これをポリモーフィズム(多態性)といいます。要は複数のクラスで...
継承とインターフェース

メソッドのオーバーライド

スーパークラスとサブクラスを定義し、サブクラスはスーパークラスの機能をそのまま使える便利な機能ですが、継承のメリットはこれだけではありません。継承するとサブクラスではメソッドのオーバーライドを使用して、メソッドを上書きして再定義することがで...
継承とインターフェース

クラスの継承

今まではオブジェクト指向プログラミングの基礎の部分を学んできましたが、ここからは応用といいますか使い所について学習していきます。手始めにクラスの継承について見ていきましょう。 スーパークラスとサブクラス 既存のクラスのプロパティやメソッドな...
クラスとオブジェクト

カプセル化

クラスのデータはプロパティで管理していますが、これまで学んできた中ではプロパティのアクセス修飾子をpublicにしていましたね。これでは外部から自由にアクセスできてしまい、値を書き換えられてしまう恐れがあります。例えば人インスタンスを生成し...