PHP面向對象——類

<?php/** * Created by PhpStorm. * User: 63448 * Date: 2018/5/6 * Time: 9:44 *///類:類似的數據和數據操做的封裝  class//  成員量:普通的量加上必定的修飾就變成了成員量 public,protected,private//  成員方法:普通的函數,加上必定的修飾,放入到類中就變成了成員方法.//  實例化:類建立特例的過程(實例化一個對象 new)//  對象: 類的特例或者實例   object//     認識類 -> 類的封裝 -> 類的實例化 -> 對象的認識 -> 操做對象/** * 實例化類(instance): *       對象變量 = new 類名; * 或者  對象變量 = new 類名(); * 對象變量:  普通的變量,只不過他的類型是對象類型 * $object = new myClass;/new myClass(); */class MyClassss{}//聲明類的時候是沒有小括號的(區別於函數)$obj = new MyClassss;//類的實例化if(Class_exists("MyClassss")){    if(is_object($obj)) echo "obj is object";//is_object():判斷某個變量是不是對象;    else echo "obj isnot object";}else{    echo "myclass isnot exists";}echo "<hr/>";/** *成員變量:  普通的變量放入到類中就變成了成員量(類的屬性)        格式:修飾符 變量名[=值];    變量定義格式:修飾符 變量;    變量的賦值:修飾符 變量名 = 值;    修飾符:  public : 公有的,在類內能夠使用,在類外也能夠使用,等價於 JS 的 var         Public $height = 100; * 成員方法:    普通的函數放入到的類中就變成了成員方法        格式:        修飾符 function 方法名(參數){             返回值        } */    // 類使用步驟    class MyClass{        public $age = 100;    }    $obj = new MyClass;    echo $obj -> age ;     // 100    $obj -> age = 105;     // 105    echo $obj -> age;//    // 對象操做的無關性    $obj1 = new MyClass();    echo $obj1 -> age;     // 100    $obj1 -> age = 200;    echo $obj1 -> age;     // 200    echo $obj -> age;      // 105echo "<br>----------------------------------------<br>";/** * 類外的使用:對象名 -> 變量名(無$)--      $obj -> checklogin()  類內調用:$this -> 變量名(無$) 僞變量--  $this -> tag僞變量:  $this :對象自己  3) 對於某個對象的操做,對於另外的對象沒有任何影響,也就是所謂的對象無關性 */class UserModel{    public $user = "admin";    public $pwd  = "123456";    public $tag  = 0;         // 用戶是否登陸的標示    // 傳入用戶登陸的數據    public function setUserPwd($u,$p){        $this -> login($u,$p);    }    // 用戶進行登陸操做    public function login($tmp_u,$tmp_p){        if(!$this -> tag){            if($this -> user == $tmp_u && $this -> pwd == $tmp_p)                $this -> tag = 1; // 用戶是登陸狀態        }    }    // 判斷用戶是否登陸    public function checklogin(){        if($this -> tag == 1)    return true;        else    return false;    }}$obj = new UserModel;$obj -> setUserPwd("admin","123456");if($obj -> checklogin())    echo "login ok";else    echo "login error";echo "<br>----------------------------------------<br>";/** * 一、::叫作做用域操做符 * 二、常量在聲明的時候必須賦值! * 三、聲明常量的過程當中,不須要其餘的修飾符 */class MyClasss{    const HOST="localhost";//類中恆定不變的量格式:Const 大寫的常量名 = 值;    const USER="root";    public function show(){        echo MyClasss::HOST;        echo self::USER;//類內的調用: self (指本類) Self::常量名    }}echo Myclasss::HOST.Myclasss::USER;//類外調用:類名 :: 常量名echo "<hr/>";$obj = new MyClasss;$obj -> show();//類的封裝:?>
相關文章
相關標籤/搜索