首页 > PHP资讯 > PHP培训技术 > 深入探讨PHP类的封装与承继

深入探讨PHP类的封装与承继

PHP培训技术
  类是面向方针中的重要概念,而封装和承继是面向方针的重要特色。这篇文章欣才就和咱们要点评论一下封装、承继这两个特色,给出一些列子,供咱们学习参阅。

  封装

  把成员方法和成员特色封装到类中,躲藏特色和方法完结的细节,经过public、protected、private等限制类成员的拜访权限,数据被维护在内部,只经过被授权的成员方法才干够操作,尽或许的对成员进行封装。

  public:方法或许特色在任何效果域下都能够拜访到,并且是默许的,假如没有为一个特色或方法指定拜访修饰符,它将是public。

  protected:本类和子类能够拜访,外部方针不能够调用。

  private:只能在本类拜访,子类与外部方针都不或许调用。经过private符号的方法或许属功用够在承继类中从头界说,每一个类只能看到它自个界说的私有方法。

  这三个修饰符从效果规模上来讲应当像这样从大到小排序:public→protected→private之所以说是在效果规模上,是由于类把一些特色和方法进行了封装,这个封装就决议了数据的“可见性”,这样咱们在类的外面不能够随意批改所界说的特色和方法而只能够进行调用,这即是封装的优点,一起也前进了安全性。

  咱们给出代码示例:

  classmyClass{

  public$public="Public"; //public特色

  protected$protected="Protected"; //protected特色

  private$private="Private"; //private特色

  functionsay_Hello(){ //public特色

  //仅仅举例阐明,自行增加内容

  }

  $obj=newmyClass();

  echo$obj->public;

  //echo$obj->protected;

  //echo$obj->private;

  经过运转以上示例咱们得到一个“Public”,但当你把//echo$obj->private;的注释去掉时,你会得到一下如下的过错:Fatalerror:CannotaccessprotectedpropertymyClass::$protectedinE:apachehtdocsexamplefile.phponline13。能够看到咱们不能随意去拜访类的特色界说,咱们在“外面”是不晓得这个类中到底有那些成员,由于这些成员对于其他的类或许是不行见的。当然假如咱们必定要拜访或许批改界说为“私有”的特色时,也能够运用PHP所供给的体系方法:_get()和_set()。

  承继

  能够使一个类承继并具有另一个现已存在类的成员特色和方法,被承继的类称为父类或基类,承继类为子类。经过extends要害字完结承继联系。浅显来说,要有承继就得有一个“本源”,这“本源”你或许想像你今后生了儿子或许女儿,他们会从你这儿得到一些“东西(特色和方法)”,这样你的“子孙”即是持有你(本源)悉数的一些特征了。

  发生“本源”类(父类或许基类)

  语法:classfather{

  }

  发生“子孙”(子类)

  语法:classsonextendsfather{

  }

  PHPextends类承继示例代码:

  classfather{

  protected$name;

  function__construct($name){//结构函数

  $this->name=$name;

  }

  functionwork(){

  echo"{$this->name}我在作业;

  }

  function__destruct(){}//析构函数

  }

  classsonextendsfather{//承继父类

  functionplay(){

  echo"{$this->name}我在玩游戏;

  }

  }

  $my_father=newfather(“父亲”);//创立父类方针

  $my_father->work();

  $my_son=newson(“儿子”);

  $my_son->work();

  $my_son->play();

  解析:在父类father里,咱们界说了通常的特色和方法,然后界说子类。你或许发如今子类里内是没有结构函数和析构函数的,由于子类是承继了父类的悉数方法,所以能够调用$my_son->work();这即是PHP类的承继了。别的要留意:PHP不能多层承继,如:classAextendsBextendsC,这样的承继在PHP中是无效的,PHP里只要单承继,不能多承继,需求其他方法变相“完结”多承继。

  更多对于PHP的学习内容,为你引荐《PHP对比运算符的具体学习》《教你运用PHP生成PDF文件》《对于PHP中的正告信息和session的一些评论》《8个与安全有关的PHP函数》,期望协助到你的PHP学习。

  面向方针封装承继

本文由欣才IT学院整理发布,未经许可,禁止转载。