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()

posted @ 2019-09-11 16:47  volition丶L  阅读(146)  评论(0编辑  收藏  举报