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

    1类的创建 class创建类

    class Person{}

    2.对象的创建  使用new关键字

    class Person{}

    $p1=new Person

    3.成员的添加

    添加成员需要 三个修饰符

    public 公开的  定义公共的属性和方法,类的外部,类的内部,子类都可以使用

    protected 受保护的  定义受保护的属性和方法  值能在类的内部和子类里使用

    private 私有的 定义私有的属性和方法 只能在自身的类里使用

    方法成员如果前面不加修饰符 默认是public

    4.成员调用使用->符号

    $p1=new Person

    $p1->fn()

    使用成员属性和方法的时候  属性和方法前面不带$符

    $p1=new Person    $p1->fn()    echo $p1->name  

    5.特殊对象$this指向实例化的对象,如果类的方法里想使用类的其他属性和方法得需要使用$this对象

    public $name=“lisi”;

    public function fn(){

    echo $this->name;

    }

    6.构造方法  function__construct()构造函数在new实例化的时候系统会自动调用

    public $name=“lisi”;

    function __construct($name){

    $this->name=$name;

    }

    public function fn(){

    echo $this->name

    }

    7.析构方法

    我们每次new实例化,系统就会给这个对象分配一个内存空间,如果不销毁,系统压力会很大,系统有一个析构方法__destruct 对象实例化之后系统会自动调用。内存销毁的原则是先进后销。

    function __destruct(){

    echo “delete”.$this->name."<br/>";

      }

    }

    $p1=new Person("xiaosi");

    $p2=new Person("xiaowang")

    8.成员赋值

    $p1->name="456";

    echo $p1->name;

    9.php中的继承使用关键字 extends

    class Person {

    public $name="lisi";

    public function fn(){

    echo 111111

    }

    class Child extends Person{}

    }

    $c=new Child

    $c->fn()

    10.类中常量  使用const关键字定义常量,常量在定义和使用的时候不能带$符。

    使用的时候不能用$this 使用范围修饰::前面还是这个类名或self

    const ad=“xiaoxu”;

    public $name="lisi";

    public function fn(){

    echo self::ad;}

    如果向子类访问父类中的常量 使用parent::常量名

    class Person{

    const ad="xiaoxu1111";

    public $name="lisi1111";

    public function fn(){

    echo self::ad;}

    }

    class Child axtends Person{

    function ff(){

      echo parent::ad;

      }

    }

    $c=new Child

    11. 静态变量  在变量前加上关键字 static 静态属性  不能使用->访问了,使用类名::$变量名;

    class Person{

    public static $name="132";

    }

    $p=new Person;

    echo Person::$name;

    12.重载 覆盖

    子类继承父类的方法时,如果子类有和父类同名的方法,从父类那继承的方法就会被覆盖掉,这个就叫重载。

    如果父类的方法前面加上final 则子类无法重载父类的发发,就会报错。

    class Person{

    const ad=“xiaoxu111”;

    public $name="lisi1111"

    public final function fn(){

    echo self:ad

      }

    }

    class Child extends Person{

    function fn(){

    echo "11111"

      }

    }

    $c=new Child;

    $c->fn()

  • 相关阅读:
    通过IMM With Remote Console为服务器安装操作系统
    linux下编译安装php5.6出现 configure: error: Cannot find MySQL header files under /usr/local/mysql.
    5700交换机清除配置
    嵌入式驱动解析:从串口驱动到Linux驱动模型
    Win10自带Ubuntu子系统的安装与配置
    关于嵌入式C代码优化的几种方法
    2020软考高级系统分析师,你想知道的全在这
    libpng warning: iCCP: known incorrect sRGB profile
    pycharm中导入pygame库失败及解决办法
    pycharm中导入pygame等第三方库
  • 原文地址:https://www.cnblogs.com/LQK157/p/11507178.html
Copyright © 2011-2022 走看看