php 抽象类 : abstract --- 抽象类就把类像的部分 抽出来

发布:2012-12-13 13:53   点击841次   评论:0

2.php 抽象类 : abstract

其实抽象类和接口类有一部分很像,记得在哪里看见这样一句话,抽象类就把类像的部分

抽出来,这句看上去很搞笑,其实它说出了抽象类的真理,抽象类的作用是,当你发现

你的很多类里面用很多方法你不断的在重复写,那你就可以考虑使用抽象类了,你可能

会说"我不是可以重写一个类每个公共类我个实例化一个这个公共类,调用相同的方法

就可以了",这里是可以,实际上抽象类做的工作也就是这个,不过他省去了你实例化

的这个步骤,让你就像直接调用本类方法一样方便,而且你还可以重载这个方法。如:

复制代码 代码如下:

abstract class BaseShop

{

public function buy($gid)

{

echo(''你购买了ID为 :''.$gid.''的商品'');

}

public function sell($gid)

{

echo(''你卖了ID为 :''.$gid.''的商品'');

}

public function view($gid)

{

echo(''你查看了ID为 :''.$gid.''的商品'');

}

}

class BallShop extends BaseShop

{

var $itme_id = null;

public function __construct()

{

$this->itme_id = 2314;

}

public function open()

{

$this->sell($this->itme_id);

}

}

这里是一个例子,想上面一样我定义了一个商店类,抽出了它所有像的部分,

买(buy),卖(sell),看(view),并且抽象类里都实现了这些方法,那么继承它的子类就

自动获得了这些方法,子类就做它自己独特的东西,介绍代码的重复,提高复用性。

结论: 抽象类就是一个类的服务提供商,拥有众多服务,你不用必须用,当需要

的时候你来用就可以,如果你觉得不提供服务不满意,你还可以自己来做。

关于 GitHub 导航 部门 反馈

提示:`/home.php`入口数据仅为演示功能,不构成任何交易凭证,也不承担相关风险和责任!

Copyright © 2011-2018 xxxxx.com All rights reserved.

Run:30.108/67.391(ms); 7(sql)/2.879(MB); comm:news/detail; Upd:2025-01-11 11:12:30