PHP抽象类

2016-09-18  本文已影响0人  雨声不吃鱼

PHP抽象类应用的定义:abstract class ClassName { }

PHP抽象类应用要点:

  1.定义一些方法,子类必须完全实现这个抽象中所有的方法

  2.不能从抽象类创建对象,它的意义在于被扩展

  3.抽象类通常具有抽象方法,方法中没有大括号

PHP抽象类应用重点:

  1.抽象方法不必实现具体的功能,由子类来完成

  2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义

  3.抽象类的方法可以有参数,也可以为空

  4.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

PHP抽象类应用示例:

  abstract public function_name(); //注意没有大括号

PHP抽象类规则:

  1.某个类只要至少含有一个抽象方法,就必须声明为抽象类

  2.抽象方法,不能够含有函数体

  3.继承抽象类的子类,实现抽象方法的,必须跟该抽象方法具有相同或者更低的      访问级别

  4.继承抽象类的子类,如果不实现所有抽象方法,那么该子类也为抽象类


虽然上面说了这么多,然而我也不懂,都是复制的...

下面:(形状类  --> 扩展  -->计算矩形面积)

abstract class Shape

{

abstract protected function get_area();

//和一般的方法不同的是,这个方法没有大括号

//你不能创建这个抽象类的实例:$Shape_Rect= new Shape();

}

class Rectangle extends Shape

{

private $width;

private $height;

function __construct($width=0,$height=0)

{

$this->width=$width;

$this->height=$height;

}

function get_area()

{

echo ($this->width+$this->height)*2;

}

}

$Shape_Rect = new Rectangle(20,30);

$Shape_Rect->get_area();


作为一个渣渣,下面是我自己的一些渣渣见解,我的小目标就是:误导你们!

--->

抽象类中有抽象方法,抽象类不能实例化,抽象方法也不能有方法体。

子类继承自这个定义的抽象类,然后必须实现它的抽象方法。

抽象方法中可以有参数,但是如果有的话,子类实现这个抽象方法的话,必须和抽象类中的参数个数相同。

如果一个类中有抽象方法,就必须声明为抽象类。


拓展

1、

__construct() 函数创建一个新的 SimpleXMLElement 对象。

如果成功,则该函数返回一个对象。如果失败,则返回 false。

2、

构造方法的作用

通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值。

构造方法的在类中的声明格式

function __constrct([参数列表])

{

//通常用来对成员属性进行初始化赋值

}

在类中声明构造方法需要注意的事项

1、在同一个类中只能声明一个构造方法,原因是,PHP不支持构造函数重载。

2、构造方法名称是以两个下画线开始的__construct()

上一篇下一篇

猜你喜欢

热点阅读