Rumah >pembangunan bahagian belakang >tutorial php >深入理解php类与构造函数解析

深入理解php类与构造函数解析

迷茫
迷茫asal
2017-03-26 11:22:102198semak imbas

关于类大家都有一定的认识这里只介绍在php中类值得注意的地方

----类的创建----

php使用关键字class创建一个类,并且使用一对大括号
如:


class name{
  public $n="";
  private $u="";

  public function name() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;//this表示这个类
  }
}

结尾不打分号。则$n,$u为字段;name()为构造函数(construct()也可定义构造函数,详见下文),可以为字段赋值;rename()为方法。

----字段----

比较
$obj=new name();
echo $obj->n;

$obj=new name();
echo $obj->u;

前者可执行,后者不可因为$u前声明了私有private。这一点是与c++类似的。

代码:

public static $nm ="2333333333333333" ;

为函数申明了一个静态字段。
通过类名与::可以直接访问该变量

echo name::$nm;

这一点也是与c++类似的。

php中还可以通过 self::+$+变量名 在类中访问静态字段,这时self相当于$this->

方法的使用与字段类似


----构造函数----

在php5和早期版本中构造函数与类同名

在php5和之后的版本中魔术字 construct() 可定义构造函数

魔术字 construct() 可定义构造函数

class name{
  public $n="";
  private $u="";

  public function construct() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;
  }
}

构造函数可有参数

construct($name="",$sex="man",$age=0){}

在申明对象时

$obj= new name("我","man",28);

如果没有给出参数,则默认为=后的值。

Atas ialah kandungan terperinci 深入理解php类与构造函数解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn