您好,登錄后才能下訂單哦!
1.發展與解釋:
匯編:面向機器
C語言:面向過程
java:面向對象
php:支持面向對象
其實類也是一種數據類型
a.類是抽象的,代表一類事物
b.對象是具體的,是類的一個具體實例
c.類是對象的模板,對象是類的一個個體實例
2.簡單入門案例:
<?php class Cat { public $name; public $age; public $color; } $cat1=new Cat(); //對類進行實例化/創建一個對象/實例化對象 三者說法同種意思 $cat1->name="小白"; $cat1->age=10; $cat1->color="red"; $FindCat="小白"; if($cat1->name==$FindCat) { ECHO $FindCat."存在"; } ?>
3.用法
a.成員屬性的說明:
成員屬性是從某個事物中提取出來,可以是基本數據類型(整數,小數,字符,布爾),也可以是復合數據類型(數組,對象)
Class 類名{
成員屬性;
}
b.創建對象:
$對象名=new 類名();
or
$對象名=new 類名;
c.訪問對象屬性
$對象名->屬性名;
d.class命名規范
如果一個文件專門用于定義類的,沒有類的操作,其命名規范:
類名.class.php
Class 類名
{
}
4.從內存詳細解釋
內存圖
堆區:對象,一般存較小的的
棧區:基本數據類,一般是較大的
案例1:
<?php class Cat { public $name; public $age; public $color; } $c=90; $cat1=new Cat(); $cat1->name="小白"; $cat1->age=10; $cat1->color="red"; $cat2=$cat1 ?>
內存圖如下:
案例2:
<?php $a=9; $b=$a; $b=$b+8; Echo $a." ".$b; ?>
內存圖如下:
案例3:
<?php $a=9; $b=&$a; $b=$b+8; Echo $a." ".$b; ?>
內存圖如下:
案例4:
<?php Class Person { public $name; Public $age; } $p1=new Person(); $p1->name="小明"; $p1->age=10; Function test1($p) { $p->name="小花"; } Test1($p1); Echo $p1->name; ?>
a.函數接收對象時候,究竟接收的是值,還是地址?
b.如果是基本數據類型?在默認情況下,傳遞的是值,如果希望傳入地址:
Function test(&$變量名)
{
}
在php中,如果給一個函數傳遞的是數組,則默認情況下是傳值(拷貝了新的數組),如果如果希望傳入地址:
Function test(&$array)
{
}
問題?
<?php $arr=array($a1,$a2); $a1=array(1,2,3); $a2=array(4,5,6,7); foreach ($arr as $k=>$v) { echo "$k=$v"; } var_dump($arr); ?>
…………………………………………………..區別
<?php $a1=array(1,2,3); $a2=array(4,5,6,7); $arr=array($a1,$a2); foreach ($arr as $k=>$v) { echo "$k=$v"; } var_dump($arr); ?>
錯誤
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。