zoukankan      html  css  js  c++  java
  • PHP 面向对象

    面向对象:
    一:定义类
    class Dog
    {
    var $name;
    var $age;
    var $pinzhong;

    function Jiao()
    {
    echo "{$this->name}在叫";
    }
    }

    二:实例化对象
    $dog = new Dog();
    调用对象的成员:
    $dog->name = "旺财";
    $dog->Jiao();

    三:$this关键字
    $this->name;this代表该对象,如果要在成员方法中调用成员变量,一定要使用$this找出该成员变量

    四:构造函数:
    function __construct($n,$a,$p)
    {
    $this->name = $n;
    $this->age = $a;
    $this->pinzhong = $p;
    }
    五:析构函数:
    function __destruct()
    {
    echo "拜拜";
    }


    六:封装:
    将类里面的成员变量加一个private修饰符变成私有的,目的是为了保护类里面的成员不被外界随意访问,从而确保类的安全性。如果将变量设置为私有,如何去访问:
    1.自己写函数get函数set函数,然后来对变量赋值和取值
    2.用系统自带的__get()函数和__set()函数来实现类里面的变量赋值取值
    function __set($name,$value)
    {
    $this->$name = $value;
    }
    function __get($name)
    {
    return $this->$name;
    }

    七:继承
    继承一般是单继承:一个儿子只能有一个父亲
    子类可以继承父类的所有成员
    子类可以对父类的成员方法进行重写:(函数名一样),如果要在子类方法中调用父类的方法,用parent::Jiao();
    function Jiao()
    {
    parent::Jiao();

    echo "hello";
    }
    final关键字可以定义该类为最终类,不可被继承

    静态:
    关键字:static ,如果成员声明了为静态的,那么该成员是属于该类的,不是属于对象的
    如何调用静态的成员:
    HaShiQi::$height = 10;
    HaShiQi::Gao();
    用类名加双冒号调用类的静态成员

    多态:
    条件:必须要继承,父类的引用指向子类实例,重写函数

    function __tostring()
    {
    echo "这是一个人类";
    }
    tostring方法,在输出对象的时候可以显示该方法中的信息

    $r1 = clone $ren;克隆对象
    function __clone()
    {
    $this->name = "李四";
    }

    在克隆的时候会自动执行,该函数的目的就是将克隆出来的对象进行一些改变

    在页面上引用类:

    1.include来引用
    include("../china.php");

    2.require_once请求页面
    require_once "../China.php";



  • 相关阅读:
    笔记-树形dp
    20181018 考试记录
    20181015 考试记录&数论
    [模板]2-SAT 问题&和平委员会
    FLask的偏函数应用
    Flask中的g到底是个什么鬼?
    Flask源码关于local的实现
    Flask的“中间件”
    Flask之模板
    FLask之视图
  • 原文地址:https://www.cnblogs.com/cuikang/p/5159281.html
Copyright © 2011-2022 走看看