首页 > 学院 > 开发设计 > 正文

面向过程(3)

2019-11-10 18:45:22
字体:
来源:转载
供稿:网友

1.对象的遍历

**(1)类的外部遍历:**$person = new Person('人',12,'循环');foreach ($person as $key=>$value){ echo $key.'-------'.$value.'<br/>';}**(2)类的内部遍历**public function bianli(){ foreach($this as $key=>$value){ echo $key.'----'.$value.'<br/>'; }}

注释: 1.对象可以使用foreach进行遍历,只能遍历成员属性。 2.仅能在外部遍历对象的public属性。 3.在类的内部可以使用$this进行遍历

2.接口:先定义一个标准的写法,让某些类来实现接口的时候,必须要实现接口定义的所有函数,是为了保证我们程序的标准化。

3.接口的写法: (1)通过interface来定义一个借口。 (2)接口的函数必须不能包含函数体。 (3)接口的函数必须全部被类实现。 (4)接口定义的函数如果有参数,那么实现类的函数也必须有参数,如果参数有默认值,那么实现类的函数也必须有默认值。 (5)接口不能包含成员属性。 (6)实现的类可以包含成员属性,跟接口没关系。 (7)接口的定义函数必须是public。

4.抽象类与抽象方法 (1)抽象跟接口差不多,不能被直接实例化。 (2)通过abstract class 关键词来定义一个抽象类。 (3)抽象类可以像正常类一样,包含成员属性和成员方法。 (4)抽象类可以有至少一个抽象方法,抽象方法不能有函数体,而且定义抽象方法必须被继承的类所实现。 (5)抽象方法通过abstract关键词来定义。 (6)抽象类可以定义静态成员方法,而且可以直接使用抽象类名来调用静态方法,Leader::attack();,当然继承的类也可以。

5.trait: 写法: (1)通过trait关键词来定义。 (2)定义好之后其实和类一样,同样包含成员属性和成员方法。 (3)trait不能够直接被实例化,必须被其他的类使用,使用use关键词来定义,重点是支持多个,实现类的多继承。 (4)可以包含抽象方法。 (5)trait定义的方法冲突的时候,要使用insteadof来修正,只能使用一个,或者使用as起别名。

6.命名空间 (1)通过在类的上面使用namespace来定义一个命名空间。 (2)命名空间支持多级,像文件夹的结构一样。 (3)如果在同一文件中写多个命名空间,范围是从当前的命名空间到下一个命名空间结束。 (4)当使用命名空间之后,遇到相同的类名,可以直接使用use来说明调用的是哪个命名空间下面的类。 (例如:use 后面写/Db/Bo/Db;最后是一个类名) (5)使用的时候,加上反斜杠代表从根命名空间开始查找,后面的叫做子集命名空间。

7.MVC:是一种构建开发框架的思想,把整个项目分成三部分。 (1)页面模板(利用模板引擎显示页面)———视图(View) (2)控制器(控制操作数据库,并输出模板)——控制器(Controller) (3)数据操作(操作数据库)——————-模型(Model)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表