zoukankan      html  css  js  c++  java
  • 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; // 105
    echo "<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>";

    /**
    * 1、::叫做作用域操作符
    * 2、常量在声明的时候必须赋值!
    * 3、声明常量的过程中,不需要其他的修饰符
    */
    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();

    //类的封装:

    ?>
  • 相关阅读:
    卷积:如何成为一个很厉害的神经网络
    卷积的本质及物理意义(全面理解卷积)
    傅里叶分析之掐死教程(完整版)
    buf.writeUInt16BE()
    buf.writeUInt8()函数详解
    buf.writeUIntBE()函数详解
    buf.writeInt32BE()函数详解
    buf.writeInt16BE()函数详解
    buf.writeInt8()函数详解
    buf.writeDoubleBE()函数详解
  • 原文地址:https://www.cnblogs.com/cp168168/p/9000222.html
Copyright © 2011-2022 走看看