彩票走势图

PHP封装与继承实例

转帖|行业资讯|编辑:龚雪|2015-01-09 09:47:39.000|阅读 211 次

概述:类是面向对象中的重要概念,而封装和继承是面向对象的重要特点。本文实例解释PHP封装与继承。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

封装

把成员方法和成员属性封装到类中,隐藏属性和方法实现的细节,通过public、protected、private等限定类成员的访问权限,数据被保护在内部,只通过被授权的成员方法才可以操作,尽可能的对成员进行封装。
public:方法或者属性在任何作用域下都可以访问到,而且是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。
protected:本类和子类可以访问,外部对象不可以调用。

private:只能在本类访问,子类与外部对象都不可能调用。经过private标记的方法或者属性可以在继承类中重新定义,每一个类只能看到它自己定义的私有方法。
这三个修饰符从作用范围上来讲应该像这样从大到小排序:public→protected→private之所以说是在作用范围上,是因为类把一些属性和方法进行了封装,这个封装就决定了数据的“可见性”,这样我们在类的外面不能够随意修改所定义的属性和方法而只能够进行调用,这就是封装的好处,同时也提高了安全性。

我们给出代码示例:
class myClass{

public$public="Public";//public属性

protected$protected="Protected";//protected属性
private$private="Private";//private属性

function say_Hello(){//public属性

//只是举例说明,自行添加内容
}

$obj=new myClass();
echo$obj->public;

//echo$obj->protected;
//echo$obj->private;

通过运行以上示例我们得到一个“Public”,但当你把//echo$obj->private;的注释去掉时,你会得到一下如下的错误:Fatal error:Cannot access protected property myClass::$protected in E:apachehtdocsexamplefile.php on line 13。可以看到我们不能随意去访问类的属性定义,我们在“外面”是不知道这个类中到底有那些成员,因为这些成员对于其他的类可能是不可见的。当然如果我们一定要访问或者修改定义为“私有”的属性时,也可以使用PHP所提供的系统方法:_get()和_set()。

继承

可以使一个类继承并拥有另一个已经存在类的成员属性和方法,被继承的类称为父类或基类,继承类为子类。通过extends关键字实现继承关系。通俗来说,要有继承就得有一个“根源”,这“根源”你可能想像你以后生了儿子或者女儿,他们会从你这里得到一些“东西(属性和方法)”,这样你的“后代”就是持有你(根源)所有的一些特征了。
产生“根源”类(父类或者基类)
语法:class father{
}

产生“后代”(子类)
语法:class son extends father{
}
PHP extends类继承示例代码:
class father{
protected$name;
function__construct($name){//构造函数
$this->name=$name;
}
function work(){
echo"{$this->name}我在工作;
}
function__destruct(){}//析构函数
}
class son extends father{//继承父类
function play(){
echo"{$this->name}我在玩游戏;
}
}
$my_father=new father(“爸爸”);//创建父类对象
$my_father->work();
$my_son=new son(“儿子”);
$my_son->work();
$my_son->play();
解析:在父类father里,我们定义了一般的属性和方法,然后定义子类。你可能发现在子类里内是没有构造函数和析构函数的,因为子类是继承了父类的所有方法,所以可以调用$my_son->work();这就是PHP类的继承了。另外要注意:PHP不能多层继承,如:class A extends B extends C,这样的继承在PHP中是无效的,PHP里只有单继承,不能多继承,需要其他办法变相“实现”多继承。

更多新体验欢迎试用JetBrains旗下的各种Web开发工具(包括PHPIDE)。另外还有5折限时抢购免费领iPhone 6、iPad air等好礼!


标签:PHPPHPIDE

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
IntelliJ IDEA

IntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。

ReSharper

屡获大奖且被誉为世界上著名的VS代码生成工具

RubyMine

RubyMine 集合了Ruby 和 Rails的整合开发 IDE

YouTrack

YouTrack 是一款创新性的以键盘操作为主的问题和项目跟踪工具

PhpStorm

PhpStorm是一款智能的PHP IDE

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP