萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP5類中的屬性與類方法

PHP5類中的屬性與類方法

本文章詳細的介紹一下關於PHP5類中的屬性與類方法,有需要學習的朋友可參考消息。

PHP5類方法

過程:過程是編制程序時定義的一個語句序列,用來完成某種指定的操作。

函數:函數有返回值,也是定義的語句序列。

方法:在面向對象概念中,類裡面的一段語句序列。

一般來說,在面向對象概念中,函數和方法兩個名詞是通用的。

通過方法讀取屬性
下面的例子將屬性設置為private ,同時聲明了public的getName()方法,用來獲取屬性$name的值,調用getName()方法就會通過 return $this->name 返回 $name 的值。

 代碼如下 復制代碼

<?php

class Person

{

private $name = “NoName”; //private成員$name

public function getName() {

return $this->name;

}

}

$newperson = new Person();

echo ” ” . $newperson->getName();

?>

 

注意:這裡,方法內部調用本地屬性時,使用 $this->name來獲取屬性。在這個例子中,設置了公開的getName()方法,即用戶只能獲取$name, 而無法改變他的值。這就是封裝的好處。

封裝指的是將對象的狀態信息(屬性)和行為(方法)捆綁為一個邏輯單元的機制。

PHP5中通過將數據封裝、聲明為私有的(private),再提供一個或多個公開的(public)方法實現對該屬性的操作,以實現下述目的:

防止對封裝數據的未經授權的訪問。使用者只能通過事先定制好的方法來訪問數據,可以便地加入控制邏輯,限制對屬性的不合理操作;
有利於保證數據的完整性;
便於修改,增強代碼的可維護性;
方法的參數
通過方法定義時的參數,可以向方法內部傳遞變量。

如下第5行,定義方法時定義了方法參數$_a。使用這個方法時,可以向方法內傳遞參數變量。方法內接受到的變量是局部變量,僅在方法內部有效。可以通過向屬性傳遞變量值的方式,讓這個變量應用於整個對象。

 代碼如下 復制代碼

<?php

class Person

{

private $a;

function setA($_a) {

$thia->a = $_a;

}

function getA() {

return $this->a;

}

}

$newperson = new Person();

$newperson->setA(100);

echo $newperson->getA();

?>

 

如果聲明這個方法有參數,而調用這個方法時沒有傳遞參數,或者參數數量不足,系統會報出錯誤。如果參數數量超過方法定義參數的數量,PHP就忽略多於的參數,不會報錯。可以在函數定義時為參數設定默認值。 在調用方法時,如果沒有傳遞參數,將使用默認值填充這個參數變量。

 代碼如下 復制代碼

<?php

class A

{

public $name = “tom”;

}

class Person

{

private $a;

function setA($_a) {

$this->a = $_a;

}

function getA() {

return $this->a;

}

}

$a1 = new A();

$p = new Person();

$p->setA($a1);

echo $p->getA()->name;

?>

屬性的使用:通過引用變量的-> 符號調用變量指向對象的屬性。

在方法內部通過 $this-> 符號調用同一對象的屬性。

 代碼如下 復制代碼

<?php

class Person

{

public $name = “NoName”; //定義public屬性$name

public $age = 20; //定義public屬性$age

}

$p = new Person(); //創建對象

echo ” ” . $p->name; //輸出對象$p的屬性$name

echo “<br />”;

echo ” ” . $p->age; //輸出$age屬性

?>

 


PHP5類中的屬性

我們還可以改變屬性的值,當然要注意的改變屬性的值是通過public來修飾的

我們修改一下這個例子:

 代碼如下 復制代碼

<?php

class Person

{

public $name = “NoName”; //公共變量$name

public $age = 20; //公共變量$age

}

$p = new Person();

$p->name = “Tom”; //我是Tom

$p->age = 25 ; //年齡25

echo ” ” . $p->name; //輸出名字

echo “<br />”;

echo ” ” . $p->age; //年齡

?>

 

創建一個Person的對象,改變這個對象的屬性。為它命名,查看它的名字。你就是機器裡面這個Person對象的上帝,按照你定義的規則,這個實實在在內存中的Person對象被創建了,而且它有了可以改變的屬性。

 

屬性的初值
在PHP5中,在屬性定義可以不設置初值,或者賦予以下紅色類型的初值。

PHP中簡單類型有8種,分別是:

四種標量類型:

布爾型(boolean)

整型(integer)

浮點型(float)(浮點數,也作“double”)

字符串(string)

兩種復合類型:

數組(array)

對象(object)

最後是兩種特殊類型:

資源(resource)

copyright © 萬盛學電腦網 all rights reserved