[FAQ]PHP中的一些常识:类篇_PHP教程
程序员文章站
2022-05-01 15:45:25
...
我把一些PHP中类的常识性整理出来,让新手们更容易掌握PHP类,以便能快速看懂那些老大们写的程序,呵呵,不过比较少,希望老大们补充一下或者修正其中错误理解。
Q:PHP中的类可以有构造函数么?
A:可以,只要函数名和类名相同,这个函数将成为构造函数。在使用 new 操作符来创建一个类的实例时,该构造函数将会自动调用,因此,可以把一些初始化工作放在构造函数里完成。
Q:PHP中的类有析构函数么?
A:没有。当对象被销毁,使用 unset() 或者简单的脱离范围,析构函数都会自动调用。但 PHP 中没有析构函数。 如:
unset($foo);
就销毁一个类对象$foo了。
Q:要如何继承一个类?
A:使用关键字 extends 来继承一个类,如:
class B extents A {
}
Q:在类的定义中如何引用自身?
A:使用 $this 来引用当前类自身,如:
$this->name = "Tom";
Q:在子类中如何使用父类?
A:使用 :: 操作符,且有两种方式,一种是直接用父类名,如:
A::example();
一种是用 parent 关键字,如:
parent::example();
建议采用 parent:: 来引用父类。
Q:我不想创建类的实例,能直接使用类中的函数或变量吗?
A:可以,采用 :: 操作符,如:
B::example();
就可以执行B类中的函数example(),而并没有创建任何B类的对象,仅仅是作为一个类函数来调用,这对于功能模块归纳组织很有好处。
Q:PHP有多重继承么?//added by erquan
A:没有。子类不能同时从两个父类继承,即一个孩子不能同时有两个爸爸:)。子类必须依赖于一个且必须已存在的基类。
Q:PHP中的类可以有构造函数么?
A:可以,只要函数名和类名相同,这个函数将成为构造函数。在使用 new 操作符来创建一个类的实例时,该构造函数将会自动调用,因此,可以把一些初始化工作放在构造函数里完成。
Q:PHP中的类有析构函数么?
A:没有。当对象被销毁,使用 unset() 或者简单的脱离范围,析构函数都会自动调用。但 PHP 中没有析构函数。 如:
unset($foo);
就销毁一个类对象$foo了。
Q:要如何继承一个类?
A:使用关键字 extends 来继承一个类,如:
class B extents A {
}
Q:在类的定义中如何引用自身?
A:使用 $this 来引用当前类自身,如:
$this->name = "Tom";
Q:在子类中如何使用父类?
A:使用 :: 操作符,且有两种方式,一种是直接用父类名,如:
A::example();
一种是用 parent 关键字,如:
parent::example();
建议采用 parent:: 来引用父类。
Q:我不想创建类的实例,能直接使用类中的函数或变量吗?
A:可以,采用 :: 操作符,如:
B::example();
就可以执行B类中的函数example(),而并没有创建任何B类的对象,仅仅是作为一个类函数来调用,这对于功能模块归纳组织很有好处。
Q:PHP有多重继承么?//added by erquan
A:没有。子类不能同时从两个父类继承,即一个孩子不能同时有两个爸爸:)。子类必须依赖于一个且必须已存在的基类。
下一篇: MySQL索引用法实例分析_MySQL
推荐阅读
-
[FAQ]PHP中的一些常识:类篇
-
[FAQ]PHP中的一些常识:类篇
-
Laravel模板引擎Blade中section的一些标签的区别介绍,laravelblade_PHP教程
-
Laravel框架中扩展函数、扩展自定义类的方法,laravel框架_PHP教程
-
php中关于抽象(abstract)类和抽象方法的问题分析_PHP教程
-
深入解读php中关于抽象(abstract)类和抽象方法的问题分析_PHP教程
-
PHP PEAR DB类在网站建设中的作用体现_PHP教程
-
安装Apache和PHP的一些补充,一篇很实用的文章_PHP教程
-
Laravel模板引擎Blade中section的一些标签的区别介绍_PHP教程
-
php中的一些数组排序方法分享_PHP教程