php面向对象编程基础的案例

  介绍

这篇文章给大家分享的是有关php面向对象编程基础的案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

在一些小的项目中,会频繁接触到类的继承,封装和多态等特性,利用的是的类本身的功能。

但是在大型项目中,经常会采用类接口来实现,因为接口不涉及类的具体功能实现,但是接口会限制类的功能。

一个复杂大型的软件涉及中,需要由众多的功能类构成,这些功能类需要由多个程序员共同完成,其中软件架构师需要指定涉及模式,团队分工等工作。

这就带来编程统一性的问题,如何保证关键的功能能够很好地实现,这就需要一个能够统筹兼顾的设计接口,通常使用的是类接口,虽然php能够采用多种方法。

类的封装,基础和多态等特性,涉及到的都是类的功能,一般在小型项目中使用类的功能来实现。

但是在大型项目中,软件需要由众多的功能,那就需要有众多的功能类,而这些功能类通常由多个程序员共同来完成,那么众多的程序员之间,就出现了编程统一的问题,如何保证软件的功能能够很好地实现?

这就需要在软件设计之前,事先定义好一组功能,然后程序员按照这些功能,来逐个实现。

在php中能够采用的方法有很多种,通常使用类接口来实现。在接口中定义一组功能,但是功能的实现,需要程序员逐个来实现,从而保障了软件功能的完整性。

1,接口的定义

接口不是功能类,因此不能在接口类中定义具体的功能实现方法。

接口定义时使用接口关键字,命名格式:I +接口名称。

通常接口中定义的成员必须为功能类的方法,不能是功能类的成员属性。

需要注意几点:

①接口成员必须具有全局访问权限,因此不能添加访问修饰符;

②接口成员不能使用常量、静态方法等类属性;

③接口成员不能定义构造方法。

④接口可以像类一样被继承,继承之后,子接口就会得到父接口的全部成员。

2,接口的实现

接口只能进行功能定义,而不能实现具体的功能,如果要实现接口中定义的功能,必须通过普通的功能类来实现。

格式:实现+接口名称

注意:在功能类中必须要定义接口中所有的成员方法,不能遗漏一个。

下面通过简单的实例来演示

在接口文件中,定义两个接口Imyinterce, Imys (Imyinterface子接口)

& lt; php ?/* *   *定义接口Imyinterface   */接口Imyinterface {   add1()函数;   函数add2 ($ s);   函数add3 (t=0美元);   }//接口的继承   接口Imys延伸Imyinterface {   德尔()函数;   编辑()函数;   功能更新(str);   功能选择(id、str美元);   }      ?在

然后定义一个功能类,来实现接口,如果还没想好功能如何实现,可以通过空方法来实现,不能遗漏,否则会报错,提示功能类包含一个抽象方法,该抽象方法必须要实现。

这里仅实现子接口Imy中的更新和选择两个方法,其余方法暂未实现,使用空方法来代替。

& lt; php ?   要求“。/Imyinterface.interface.php";   类MyClass实现Imys {   函数add1 () {//空方法,暂无具体实现方法,虽然功能类继承Imys,但是接口Imys又继承Imyinterface,因此Imyinterface里的方法也必须要实现   }   函数add2 (str) {//同上   }   函数add3 (t=0美元){//同上   }   函数德尔(){//空方法,暂无具体实现方法   }   函数编辑(){//空方法,暂无具体实现方法   }   函数更新($ str=白址?{   返回str美元;   }   函数选择(id=0, str=美元“字符串“){   返回id。str美元;   }      }   ?在

测试代码

& lt; php ?   要求“。/MyClass.class.php";   头(“内容类型:text/html; charset=utf-8");      mys美元=new MyClass ();   echo $ mys→选择();   ?在

浏览效果

 php面向对象编程基础的案例

上面介绍了在大型软件设计中,为了规范和统一程序,通常使用接口。但是接口只能定义程序抽象的功能,而不提供具体的功能,在接口中不能定义普通的类成员,如常量、静态属性等普通成员。

抽象类是为类继承而设计的,可以在抽象类中定义普通的类成员,在这一点上抽象类就比接口灵活多了。

php面向对象编程基础的案例