Blogger Information
Blog 18
fans 0
comment 0
visits 14893
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php 类的继承
牛粪也香的博客
Original
1250 people have browsed it

image.pngimage.png

结果:

image.png

代码:obj.php

<?php

namespace admin;

class People{ public $one=100;//属性 public $two=200;//属性
//真正生产环境中用 public function getinfo() { // $obj= new self();// 可以推出==> $this =new self(); // 而$this 指的类本身,所以就不需要再实例化了 // echo $this->new;//而函数一般用return,所以 return $this->two; } //构造函数的创建 //称为构造方法或魔术方法,实例化类的时候,会自动调用 public function __construct($pram1,$pram2) {  $this->one=$pram1;//把第一个参数 赋值给one属性  $this->two=$pram2;//把第一个参数 赋值给two属性  //echo $this->getinfo();//在类 内部调用,类中的方法  //结果:值是:最后 }}
echo (new People(1,2))->getinfo();//这是一种简化的调用echo "简化的调用<hr>";$obj= new People("第一","最后");echo $obj->one;echo $obj->two;echo "<hr>";//创建子类//作用:子类扩展父类的功能 

class Chinese extends People  {   public $three=3;  public function __construct($pram1,$pram2,$pram3)  {  parent::__construct($pram1,$pram2);//调用父类的构造函数给相关属性赋值  $this->three=$pram3;  }
  public function sum()//功能扩展  {  return $this->one + $this->two;  }
 }
 class Jap extends Chinese {  //方法重写  public function sum()//这里又写了一个SUM方法,相当于方法重写  {  $all = parent::sum();//调用父类中的sum方法,当然也可以不调用  if($all>500){  return $all * 0.8;//返回折扣  }  }
 }  $chi= new Chinese(300,500,600);  echo $chi->sum();//之前的价格echo "<hr>";  $jp= new Jap(300,500,600); echo  $jp->sum();//返回折扣价 // //总结:子类中没有方法,就调用你类中的方法 // //若子类 和父类和同样的方法,则调用子类中的方法

Correction status:qualified

Teacher's comments:实例化的简化语法, 要注意php版本, 5.4之前不可用
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post