「PHPでオブジェクト指向入門1~クラスの定義~」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
PHPでオブジェクト指向プログラミングの内容を記述していきます。9月15日記事
~
~
目次
#contents
~
~
----
~
*オブジェクト指向なし(手続き型プログラミング)での限界
+再利用性
PHPでオブジェクト指向なしでプログラミングをしていると、何度も同じコードを書くことがあります。
例えば、家から新宿に行く際のプログラムを書くとしたら、家から駅までにいくまでの行動、切符を買う手続き、電車にのる手続き、等を逐一記述していかなければなりません。
これらは手続き型プログラミングと言われています。もし、引っ越しをした場合、この手続きをまた逐一書き直さなければなりません。そんな中、新宿までいく行き方(乗り物の選択やそのための操作)を
&color(red){ある程度クラスというもので定義しておけば}、ちょっとした命令で操作できるようになります。
オブジェクト指向ではちょっとした定義のファイルをたくさん作っていき、それを呼び出して操作することができます。
そうすることでオブジェクト指向の利点としてよく言われる&color(red){再利用性}が格段に増します。
練習用のプログラムにはclassなどというフォルダを作っておき、そこに定義するコードをたくさん書いていき、そのプログラムを呼び出すことでそれが体験できると思うので、そういう状況でのプログラムを望みます。
~
~
*classフォルダに定義するものを作っていく。
ではさっそくオブジェクト指向の第一段階クラスを作っていきましょう。
~
**文法
(ファイル名は「クラス名.php」)
class クラス名{
//プロパティ/メソッドの定義等々のコード。
}
※クラス名と一緒の名前をファイル名にします。そっちのほうが「わかりやすいから」です。
~
~
**呼び出し方
呼び出す方(index.phpとか)
<?php
require_once ('../class/Sports.php');
$s = new Sports();
classを記述したファイル(Sports.php)
<?php
class Sports{
//この中に色々と記述していくが、classの定義はこの形
}
$s = new Sports()のことを&color(red){インスタンス化}と言います。使いますよという宣言のようなものです。
~
~
*ちょっとした疑問。「独自関数(ユーザ定義関数)function」と「クラス」どう違うの?
こんなもん、ユーザ定義関数関数で作れるじゃんと思いがちの人、センスいいですね。
これぐらいであればユーザ定義関数でも対応できます。
しかし、ユーザ定義関数は返り値(受け取る値や文字列)は一通りしかないのに対し、クラスを使うことで、様々な返り値を操作できます。
「あれやれ!」と命令したら、「ハイこれです。」というのがユーザ定義関数で、
「あれやれ、これもやれ、これも追加しろ」という命令を出したら、「言われたものをまとめたものはこちらです」という結果を返してくれます。
こうとらえるとオブジェクト指向は頭よさそうですね(笑)
~
~
*まとめ
今回は簡単にクラスの作成とそれの呼び出し方法について考えていきました。次回は、その作成されたクラスを[[PHPでオブジェクト指向入門2~プロパティ~]]でいじっていきます。
~
~
以上
PHPでオブジェクト指向プログラミングの内容を記述していきます。9月15日記事
~
~
目次
#contents
~
~
----
~
*オブジェクト指向なし(手続き型プログラミング)での限界
+再利用性
PHPでオブジェクト指向なしでプログラミングをしていると、何度も同じコードを書くことがあります。
例えば、家から新宿に行く際のプログラムを書くとしたら、家から駅までにいくまでの行動、切符を買う手続き、電車にのる手続き、等を逐一記述していかなければなりません。
これらは手続き型プログラミングと言われています。もし、引っ越しをした場合、この手続きをまた逐一書き直さなければなりません。そんな中、新宿までいく行き方(乗り物の選択やそのための操作)を
&color(red){ある程度クラスというもので定義しておけば}、ちょっとした命令で操作できるようになります。
オブジェクト指向ではちょっとした定義のファイルをたくさん作っていき、それを呼び出して操作することができます。
そうすることでオブジェクト指向の利点としてよく言われる&color(red){再利用性}が格段に増します。
練習用のプログラムにはclassなどというフォルダを作っておき、そこに定義するコードをたくさん書いていき、そのプログラムを呼び出すことでそれが体験できると思うので、そういう状況でのプログラムを望みます。
~
~
*classフォルダに定義するものを作っていく。
ではさっそくオブジェクト指向の第一段階クラスを作っていきましょう。
~
**文法
(ファイル名は「クラス名.php」)
class クラス名{
//プロパティ/メソッドの定義等々のコード。
}
※クラス名と一緒の名前をファイル名にします。そっちのほうが「わかりやすいから」です。
~
~
**呼び出し方
呼び出す方(index.phpとか)
<?php
require_once ('../class/Sports.php');
$s = new Sports();
classを記述したファイル(Sports.php)
<?php
class Sports{
//この中に色々と記述していくが、classの定義はこの形
}
$s = new Sports()のことを&color(red){インスタンス化}と言います。使いますよという宣言のようなものです。$sは&color(red){オブジェクト変数と呼ばれています。}
~
~
*ちょっとした疑問。「独自関数(ユーザ定義関数)function」と「クラス」どう違うの?
こんなもん、ユーザ定義関数関数で作れるじゃんと思いがちの人、センスいいですね。
これぐらいであればユーザ定義関数でも対応できます。
しかし、ユーザ定義関数は返り値(受け取る値や文字列)は一通りしかないのに対し、クラスを使うことで、様々な返り値を操作できます。
「あれやれ!」と命令したら、「ハイこれです。」というのがユーザ定義関数で、
「あれやれ、これもやれ、これも追加しろ」という命令を出したら、「言われたものをまとめたものはこちらです」という結果を返してくれます。
こうとらえるとオブジェクト指向は頭よさそうですね(笑)
~
~
*まとめ
今回は簡単にクラスの作成とそれの呼び出し方法について考えていきました。次回は、その作成されたクラスを[[PHPでオブジェクト指向入門2~プロパティ~]]でいじっていきます。
~
~
以上