php类的的属性值,PHP面向对象之旅:类的属性
在PHP5中,在屬性定義可以不設(shè)置初值,或者賦予以下紅色類型的初值。
PHP中簡單類型有8種,分別是:
數(shù)值類型boolean 布爾類型
integer 整型
float 浮點(diǎn)型,也稱為 double 雙精度浮點(diǎn)型
string 字符串
復(fù)合類型
array 數(shù)組
object 對(duì)象
特殊類型
resource 資源
NULL
class A{
}
class Person{
private $name; //定義屬性未賦值。
private $name1 = NULL; //定義屬性空值 ,與未賦值一樣。
private $married = true; //用布爾型為屬性賦值。
private $grade = 0; //用整形數(shù)值為屬性賦值
private $eyesight = 0.1; //用浮點(diǎn)型數(shù)字為屬性賦值
private $nationality = "China"; //用字符串為屬性賦值
private $arr = array("foo" => "bar", 12 => true); // 用數(shù)組為屬性賦值
//private $a = new A(); //PHP5不允許,創(chuàng)建對(duì)象類型賦值給屬性
//private $res = opendir("abc"); // PHP5不允許使用資源類型
//private $g = $this->grade; //不允許用前面定義的屬性為新屬性賦值。
}
$a = new Person();
?>
在上面例子中,第13行,嘗試創(chuàng)建對(duì)象并將值賦予屬性$a 會(huì)報(bào)錯(cuò)。
第14行,建立資源并復(fù)制給$res會(huì)出現(xiàn)錯(cuò)誤。
第15行,使用上面定義的屬性為新屬性賦值也會(huì)產(chǎn)生錯(cuò)誤。
在Java中,可以作13行和15行這樣的操作。
PHP5中定義屬性的默認(rèn)值,被限制到最簡單的方式。其它的操作,交給構(gòu)造方法操作,后面內(nèi)容中將講解構(gòu)造方法。
變量與引用變量
普通變量間的傳值方法,就是值的賦值。比如數(shù)組。
$arr = array("foo" => "bar", 12 => true);
$a = $arr;
$arr[foo] = "new";
print_r($arr);
echo '
';
print_r($a);
?>
程序輸出:
Array ( [foo] => new [12] => 1 )
Array ( [foo] => bar [12] => 1 )
而指向?qū)ο蟮淖兞?#xff0c;是一個(gè)引用變量。在這個(gè)變量里面存儲(chǔ)的是所指向?qū)ο蟮膬?nèi)存地址。引用變量傳值時(shí),傳遞的是這個(gè)對(duì)象的指向。而非復(fù)制這個(gè)對(duì)象。
屬性的擴(kuò)充
$this 指當(dāng)前對(duì)象。
$this-> 調(diào)用當(dāng)前對(duì)象的屬性或者方法。
在類中使用$this-> 調(diào)用一個(gè)未定義的屬性時(shí),PHP5會(huì)自動(dòng)創(chuàng)建一個(gè)屬性供使用。
這個(gè)被創(chuàng)建的屬性,默認(rèn)的方法權(quán)限是public。
class A {
public $name = "Gonn";
public function __construct() {
$this -> age = "24";
}
}
$p = new A();
echo $p->name;
echo '
';
echo $p->age;
?>
程序輸出:
Gonn
24
屬性 age 被創(chuàng)建了。
延伸閱讀
此文章所在專題列表如下:
總結(jié)
以上是生活随笔為你收集整理的php类的的属性值,PHP面向对象之旅:类的属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在网站后台加框框(页面框怎么加)
- 下一篇: vps怎么在iis设置301()