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();//类的封装:?>
相关文章
相关标签/搜索