关于PHP面向过程编程的好处,一个说法是:PHP是一个解释性的语言——这意味着,不像那些编译型的语言,PHP它不会被编译成一个可执行的包,而是被解释并马上执行。PHP被称为是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。仔细想想也不难理解,因为解析Web页面本身就非常的“过程化”(从一个标签到另一个标签),所以在HTML中嵌入过程化的处理代码是很直接自然的作法。
关于面向对象的编程(oop),不同的人可能会有不同的解释,但应该都离不了它的三大特性:封装、继承、多态。
其中,实现多态有两种方式:覆盖、重载。(PHP貌似不支持重载?)
在许多编程语言中,“面向对象” 与 “面向过程” 只能使用二者之一来进行编程,但是PHP语言与其他编程语言有不同之处,那就是我们可以自由的选择或者将PHP面向对象和PHP面向过程二者混用 。
面向过程风格:
<?php echo "翔宇后生!"; ?>
面向对象风格:
<?php |
注意:类中的方法,就是属于某一个类的函数,一个类定义多少个方法就决定它的实例能有多少种行为。上面的类,就是创建了两个方法来设置和读取这个类的属性$name。PHP中,在类内,使用$this引用对象自己。在类内引用一个方法也同样使用$this,在类外引用对象则要使用对象名。箭头(->)是访问特定对象包含的属性或方法的一个面向对象构造(其实就是一个引用运算符)。
当程序执行到文件末尾时,PHP将自动释放它使用的全部资源(释放内存),这将触发MyClass对象的析构行为。
覆盖:1.覆盖继承来的属性和方法,只需在新类中重新声明这个属性或方法,就可以简单地覆盖掉它。
2.覆盖时保留被覆盖方法的功能(在原有基础上扩展),使用parent关键字加上作用域解析符(::)
类的属性或方法的可见度:public、private、protected、static
注意:protected修饰的属性或方法,只能在本类或其后代类的内部访问它。
一个方法或属性,若声明为static,则不需要生成类的实例即可访问它。只需要提供类的名字,加上作用域解释符和属性或方法的名字即可。
静态属性的最大好处是,所有实例共享一个值,一个实例修改了一个静态属性的值,其他实例的该属性也自动随之更改。
作者:周森标
出处:http://zhousenbiao.com
本文版权归作者周森标所有,转载请包含作者签名和出处,不得用于商业用途,否则追究法律责任!