----类的创建----
php使用关键字class创建一个类,并且使用一对大括号
如:
1
2
3
4
5
6
7
8
9
10
11
|
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()为方法。
----字段与方法----
比较
1
2
|
$obj = new name();
echo $obj ->n;
|
与
1
2
|
$obj = new name();
echo $obj ->u;
|
前者可执行,后者不可因为$u前声明了私有private。这一点是与c++类似的。
代码:
1
|
public static $nm = "2333333333333333" ;
|
为函数申明了一个静态字段。
通过类名与::可以直接访问该变量
1
|
echo name:: $nm ;
|
这一点也是与c++类似的。
php中还可以通过 self::+$+变量名 在类中访问静态字段,这时self相当于$this->。
----构造函数----
在php5和早期版本中构造函数与类同名
在php5和之后的版本中魔术字 __construct() 可定义构造函数
1
2
3
4
5
6
7
8
9
10
11
|
class name{
public $n = "" ;
private $u = "" ;
public function __construct() {
$n = "233" ;
$u = "23333" ;
}
public function rename( $newn ){
$this ->n= $newn ;
}
}
|
构造函数可有参数
1
|
__construct( $name = "" , $sex = "man" , $age =0){}
|
在申明对象时
1
|
$obj = new name( "我" , "man" ,28);
|
这时如果没有给出参数,则默认为=后的值。
以上所述是小编给大家介绍的PHP 类与构造函数解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!