Rekan milis sekalian
Saya punya masalah dengan class, mungkin ada yang bisa bantu.
Class aslinya tidak saya sertakan namun dapat diumpamakan dengan class yang
saya sertakan berikut.
�
Masalahnya yaitu mengapa "kotak1" luasnya tidak berubah setelah saya�ganti
panjangnya melalui method setpanjang(); (mungkin rekan-rekan harus
mencobanya untuk bisa melihat hasilnya)
�
Maaf ya... listingnya tidak saya buat attachment, untuk memudahkan
rekan-rekan menunjuk dimana letak kesalahan program saya.
�
Terimakasih sebelumnya
�
Awiyanto Ajisasongko
�
<?
class kotak {
�var $panjang;
�var $lebar;
�
�function kotak($panjang,$lebar) {
��$this->setpanjang($panjang);
��$this->setlebar($lebar);
�}
�
�function setpanjang($arg) {
��$this->panjang=$arg;
�}
�
�function setlebar($arg) {
��$this->lebar=$arg;
�}
�
�function getluas() {
��$temp = $this->panjang * $this->lebar;
��return $temp;
�}
}
�
class kumpulankotak extends kotak {
�var $arraykotak;
�
�function kumpulankotak() {
�}
�
�function addkotak($name,$panjang,$lebar) {
��$this->arraykotak[$name]=new kotak($panjang,$lebar);
�}
�
�function setpanjang($name,$panjang) {
��$temp=$this->arraykotak[$name];
��$temp->setpanjang($panjang);
�}
�
�function setlebar($name,$lebar) {
��$temp=$this->arraykotak[$name];
��$temp->setlebar($lebar);
�}
�
�function getluas($name) {
��$temp=$this->arraykotak[$name];
��return $temp->getluas();
�}
}
�
$test=new kumpulankotak();
$test->addkotak("kotak1",5,5);
$test->addkotak("kotak2",6,6);
�
$luas1=$test->getluas("kotak1");
$luas2=$test->getluas("kotak2");
�
echo "Luas kotak1 (panjang=5, lebar=5) sebelum diganti panjangnya =
$luas1<br>";
echo "Luas kotak2 (panjang=6, lebar=6) = $luas2<br><br>";
�
$test->setpanjang("kotak1",10);
$luas1=$test->getluas("kotak1");
echo "Luas kotak1 setelah diganti panjangnya menjadi 10 = $luas1<br>";
?>