[PHP-users 20312]Re: クラスとは。コンストラクタとは。メンバ変数宣言とは。
UNO Shintaro
uno @ venus.dti.ne.jp
2004年 2月 8日 (日) 19:27:46 JST
>例では、処理したい「変数を2回繰り返す」というものは
>どちらも同じように達成できているわけですし。
その例は、オブジェクト指向らしい使い方とは程遠いのです。
オブジェクト指向の考え方がうまくつかめなくてモヤモヤ感
いっぱいという感じなんだろうなーと思います。
「オブジェクト脳の作り方」とか読んで例題をやってみると
いいかも。
クラス、コンストラクタ、メンバ変数の使い方の簡単な例を
書いてみます。理解のきっかけになるといいのですが。
<?php
class Repeater {
var $repeatCount;
function Repeater($repeatCount){
$this->repeatCount = $repeatCount;
}
function getConvertedString($v){
$result='';
for($i=0;$i<$repeatCount;$i++){
$result.="[$v]";
}
return $result;
}
}
class Greeter {
var $greet;
function Greeter($greet){
$this->greet = $greet;
}
function getConvertedString($v){
return $this->greet . ', ' . $v . '!';
}
}
$a = array();
$a[] =& new Repater(2);
$a[] =& new Greeter("Hello");
$a[] =& new Repater(3);
$a[] =& new Greeter("Good morning");
$b = array('aaa','bbb','ccc');
foreach($b as $string){
foreach($a as $object){
print $object->getConvertedString($string) . "\n";
}
}
?>
--
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/
PHP-users メーリングリストの案内