php类与构造函数解析
斐    |    2017-02-07
php                                     阅读(5363)
摘要: 关于类大家都有一定的认识这里只介绍在php中类值得注意的地方

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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++类似的。

代码:

1
public static $nm ="2333333333333333" ;

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

echo name::$nm;

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

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

方法的使用与字段类似


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

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


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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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);

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


上一篇:没有了

下一篇:WDCP服务器安全防入侵