标签:com blog style class div code log c t ext sp
在PHP中我们声明类一般都用class来声明。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
<?php class
Student{ //用class声明一个Student类 function
__construct(){ //实例化类的时候自动加载的构造方法__construct() } public
function index(){ //成员方法 } abstract
function fun1(); //抽象方法fun1,使用 abstract 关键字来修饰 abstract
function fun2(); //抽象方法fun2 } ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
<?php class
Student extends
Person{ //使用 class 来声明一个Student类,并用 extends 来继承 Person类 function
__construct(){ //实例化类的时候自动加载的构造方法__construct() parent::__construct(); //继承父类,继承父类要在子类中的构造方法中最开始就使用 parent::__construct(); 来继承。 } public
function index(){ //成员方法 } abstract
function fun1(); //抽象方法fun1,使用 abstract 关键字来修饰 abstract
function fun2(); //抽象方法fun2 } ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
<?php abstract
class Demo{ var
$test ; abstract
function fun1(); abstract
function fun2(); function
fun3(){ } } $demo = new
Demo(); //抽象类为能产生实例对象,所以这样做是错的,实例化对象交给子类 class
Test extends
Demo{ function
fun1(){ } function
fun2(){ } } $test = new
Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法 ?> |
类的定义:class 类名{ … },接口的声明:interface 接口名{ … }
1
2
3
4
5
6
7
8
9
10
11 |
<?php //定义一个接口使用interface 关键字,“One”为接口名称 interface
One{ //定义一个常量 const
constant = ‘constant value‘ ; //定义了一个抽象方法”fun1” public
function fun1(); //定义了抽象方法”fun2” public
function fun2(); } ?> |
1
2
3
4
5
6
7 |
<?php //使用”extends”继承另外一个接口 interface
Two extends
One{ function
fun3(); function
fun4(); } ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13 |
<?php //使用“implements”这个关键字去实现接口中的抽象方法 class
Three implements
One{ function
fun1(){ } function
fun2(){ } } //实现了全部方法,我们去可以使用子类去实例化对象了 $three = new
Three(); ?> |
1
2
3
4
5
6 |
<?php //使用implements实现多个接口 class
Four implemtns 接口一, 接口二, … .{ //必须把所有接口中的方法都要实现才可以实例化对象。 } ?> |
1
2
3
4
5
6
7 |
<?php //使用extends 继承一个类,使用implements 实现多个接口 class
Four extends
类名一implemtns 接口一, 接口二, … .{ //所有接口中的方法都要实现才可以实例化对象 … … … .. } ?> |
标签:com blog style class div code log c t ext sp
原文地址:http://www.cnblogs.com/xy404/p/3699380.html