首頁 >後端開發 >php教程 >php物件導向之類與實例化對象

php物件導向之類與實例化對象

不言
不言原創
2018-06-06 09:43:011909瀏覽

這篇文章主要介紹了關於php物件導向之類與實例化對象,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

類別

宣告

[修饰符] class 类名
{
    [属性]
    [方法]
}

注意事項:

1)類別名稱遵循大寫開頭的駝峰命名規格

2)花括號的開始、結束標記,須自成一行.

修飾符

private     私有

protected   保护

public      公共    

var         被视为public  (不建议使用)

存取權限

php物件導向之類與實例化對象

##實例化

使用new關鍵字,實例化。

括號可不加。

範例

// 1.声明类
class Dog
{
    // 2.定义属性
    public $name = '旺财';
    public $sex = null;


    // 3.定义方法
    public function bark()
    {
        echo '汪汪~';
    }
}

// 4.实例化
$d1 = new Dog();

實例化物件

#屬性、方法的呼叫

使用

-> ,來存取非靜態屬性| 方法。

範例

// 声明类
class Dog
{
    // 定义属性
    public $name = '旺财';
    public $sex = null;


    // 定义方法
    public function bark()
    {
        echo '汪汪~';
    }
}

// 实例化
$d1 = new Dog();

// 使用属性和方法
echo $d1 -> name;
echo &#39;<br/>&#39;;
echo $d1 -> bark();

內部呼叫

方法在類別定義的內部被呼叫時,可以使用偽變數

$this

$this,就代表著正在使用的物件。

範例:

// 声明类
class Dog
{
    // 定义属性
    public $name = &#39;旺财&#39;;
    public $sex = null;

    public function intruduce()
    {
        echo &#39;我的名字是&#39;.$this->name;
    }
}

傳遞賦值

#1)

簡單型別時,傳遞賦值的雙方,相互獨立

2)

複合型別時,傳遞賦值存的都是物件的識別符,所以變化一致

簡單型別範例:

$a = &#39;abc&#39;;

// 传递赋值
$b = $a;

// 更改a的值
$a = &#39;qq&#39;;

var_dump($a);   // qq
var_dump($b);   // abc

複合型別範例:

class MyClass
{
    public $str = &#39;abc&#39;;
}

// $a 存的是对象的标识符
$a = new MyClass();

// 传递赋值  相当于把标识符赋值给了$b
$b = $a;

var_dump($a);    // abc
var_dump($b);    // abc

// 更改a对象str属性的值
$a -> str =&#39;111&#39;;

// $a和$b存的都是标识符
var_dump($a);    // 111
var_dump($b);    // 111


// 更改a本身的值
$a = 123;

var_dump($a);    // 123
var_dump($b);    // 111   对象标识符

引用賦值

不論是簡單類型也好,符合類型也好,雙方都是變化一致的。

範例:

$a = 'abc';

// 引用赋值
$c = &$a;

var_dump($a);   // qq
var_dump($c);   // qq
 相關推薦:

php物件導向的基本概念

以上是php物件導向之類與實例化對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn