close
文章出處

復習一下之前說的php的其他知識


由眾多對象抽象出來的
對象
由類實例化出來的   (所有的東西都可以把它看做成對象)
(類是不能直接用的,關鍵字new,可以造一個新對象來提取類中的功能)


成員變量
成員方法(成員函數)
成員屬性

訪問修飾符(成員的前面可以加,來決定成員的權限)
public 公有的
protected 受保護的(只能在該類或該類子類可以訪問)
private 私有的(只能在該類,花括號內可以訪問)

構造函數(對類里面某個成員可以進行初始化)
1.寫法特殊 
2.執行時間特殊

面向對象的三大特性:

1、封裝

2、繼承

3、多態

 

封裝:

目的:為了使一個類更加安全

做法:1、將成員變量變為私有的

         2、在類里面做方法來間接訪問成員變量

         3、在方法里面加控制

例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>

<?php


class Ren
{
    public $code; //人員代號
    private $name; //人員名稱
    private $sex; //人員性別
    private $age; //人員年齡,必須在18-50周歲之間
    
    //構造方法,用來初始化性別
    function __construct($s)
    {
        $this->sex = $s;
    }
    
    /*//造一個修改年齡的方法
    function SetAge($a)
    {
        //加控制
        if($a>18 && $a<50)
        {
            $this->age = $a;
        }
    }
    //造一個獲取age值的方法
    function GetAge()
    {
        return $this->age;
    }*/
    
    //給變量賦值的魔術方法
    function __set($n,$v)
    {
        if($n=="age")
        {
            if($v>18 && $v<50)
            {
                $this->$n = $v;
            }
        }
        else
        {
            $this->$n = $v;
        }
    }
    
    //__get魔術方法,用來取變量值的
    function __get($n)
    {
        return $this->$n;
    }
}

//造對象
$r = new Ren("男");
//$r->SetAge(30);
//$r->__set("age",30);

$r->age = 30; //自動調用__set()方法,將變量名當做第一個參數,將等號右邊的值當做第二個參數
$r->name = "張三";

//echo $r->sex; //自動調用__get()方法,將變量名當做參數
//var_dump($r);

class Dog
{
    private $name;
    
    function Jiao()
    {
        echo $this->name."在叫";
    }
    
    function SetName($n)
    {
        $this->name = $n;
        return $this;
    }
    
}

$d = new Dog();
$d->SetName("旺財")->Jiao();



?>



</body>
</html>

 


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()