----类的创建----
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 类与构造函数解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!