スポンサーリンク
スポンサーリンク

クラスの基本

php

関数と変数をまとめるクラス

プログラムをたくさん組んで複雑なものとなると、効率よく
プログラムをしていく機能が必要です。

変数と関数をまとめていく

ある特定のものに着目し、変数、関数を纏めたものをクラス
いい、アマゾンで買い物をする「ユーザー」を考えると、ユーザーに関する
情報を変数として扱い、ユーザーが行う処理を関数にまとめる・・・
といったことを考えます。
「ユーザー」というものに注目して変数、関数をまとめれば
ユーザーに関数コードを別のプログラムで利用できます。

$name,$address,setName()などなど

クラスを定義する

クラスには、変数と関数をまとめて書きます。
このことをクラスの定義と言います。

class クラス名
{
    $変数名 = 値;

    function メソッド名(引数のリスト){
        文;
        ・・・・
        return 式;
    }
}

クラスは、classという指定続けてクラス名を書きます。
クラス名は変数、関数と同じ規則で名前を付けることができます。
上記のアマゾンの例だと、

class Customer{
・・・・
}

classの後に続くブロック内に、変数、関数をまとめます。
クラス内部にまとめる変数をメンバ(member)といい
クラス内部にまとめる関数をメソッド(method)といいます。

オブジェクトを作成する

クラスを利用するためにクラスの定義を説明しました。
クラスを利用するには、もう1つやらなければならないことがあります。

オブジェクトを生成する

ことです。クラスは特定の物に着目して、情報や機能をまとめたものです、
クラスから作成される個々の存在をオブジェクト(object)と
呼んでいます。

オブジェクトはnew演算子を使って生成し、
オブジェクトを表す変数に代入します。

$オブジェクトを表す変数名 = new クラス名;

となり、Customerクラスをつくるなら以下のようにします。

//オブジェクトを生成し、$cuで扱えるようにする
$cu = new Customer();

変数$cuを経由して、Customerのメンバ、メソッドが
使えるようになります。

メンバ・メソッドを使う

オブジェクトのメンバ変数・メソッドを使うには、

$オブジェクトを表す変数名->メンバ変数名
$オブジェクトを表す変数名->メソッド();

さんぷるこーどを見た方が早いと思います。
サンプルコードの実行結果はこちら

上記のコードでは、13行目でCusomerクラスの定義を行い
クラスのブロック内でメンバ・メソッドの定義を行い、
名前と歳を格納する変数、その値を取得する変数の定義を行っています。

Customerクラス内部で自分自身のメンバ・メソッドを参照するときは、
$this->を付す必要があります。
getName()メソッドは、名前を返すため$this->を使い、
getAge()メソッドは、歳を返すために$this->ageを使います。

クラスからオブジェクトを生成することができ、
生成すると、その内部のメンバ・メソッドを利用することができる。

複数のオブジェクトを作る

オブジェクトはいくつでも作ることができます。
3人分のデータ管理も簡単にできます。
オブジェクトを3つ作れば大丈夫です。

サンプルコードの42行目意向をご覧ください。
3つのオブジェクトを生成し、
「鈴木・15」「田中・17」「佐藤・19」を43、44行目で
設定します。その後for文でループ処理をして、
各Customerクラスのメンバに値を代入しています。

コメント

タイトルとURLをコピーしました