手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

深入理解PHP面向对象

时间:2024-10-12 18:49:13

1、要学好程序设计,就必须理解面向对象的懋鲕壶迎基本概念和相关原理。那么什么事面向对象呢?很难对面向对象下一个定义,我们可以拿面向夸臾蓠鬏过程和面向对象做一个比较。面向过程是把一系列事件看成一个整体,而面向对象是把一系列事件进行分段处理。面向过程是“怎么做”的问题,面向对象是“谁去做”的问题,这个谁就是对象。面向过程编程的基本构成是“过程”,实现方式是函数,可以通过不同的函数实现不同的功能;而面向对象编程基本构成是“对象”。何为对象?在面向对象的程序设计中,“一切皆是对象”(记住这句话,对面向对象理解得有多深取决于对这句话的理解有多深)。一个类是一个对象,一个实例是一个对象,一个变量也是一个对象,甚至一个数据类型,也都可以视为一个对象。对象有什么特性?对象不同于过程的最基本的特质有两点:1) 对象有方法,比如车可以“开”,可以“停”,可以“刹车”,这些属于方法。2) 对象有属性,比如车有“重量”,“排量”,“轴距”,“油耗”等,这些属于属性。对于属性,这在面向过程中是没有相关概念与之对应的,而对于方法,方法本身来说就是一段处理程序,方法与面向过程的函数其实是类似的(方法和函数都由一段代码组成,可以包括参数,可以有返回值或没有返回值),它们之间唯一的区别在于函数是不存在公有私有一说的,而方法却有类型修饰符(public, private, protected等),这种类型修饰符直接决定了该方法能不能被别的子对象使用。何为子对象呢?这里牵涉着面向对象另一个非常重要的特性:继承。简单理解继承就是“子承父业”,与生物学上的继承,遗传的概念没有区别。就拿人类来说,父亲有的方法(如走,跑,跳,吃,睡等)同样儿子也可以有,儿子还可以自创一个自己的方法(如射击,冲浪),同样,儿子也有可能某些方法不能用(比如残废,不能走,跑,跳,但可以吃,睡),这是继承。关于继承,有两个重要的概念大家容易混淆:重写和重载,二者区别在于:重写:父亲走路是向前走的,儿子重写父亲走路的动作,横着走。(虽然都是走,结果完全不同),这属于继承的范畴。重载:对同一个类,比如父亲,同一个方法可以有多种实现手段,比如跑,可以快跑,可以慢跑,可以短跑,可以长跑,那么一个跑“Run”就可以对应4个实现手段。这是重载,特别注意的是重载只针对一个对象而言,与继承没有任何关系。现实生活中还有一个很有趣的现象是:父亲是儿子的父亲,同样父亲也是爷爷的儿子,所以父亲这个对象它有时候也是儿子,那么还有可能是丈夫 。这表示一个对象可以有多种形态,这就是“多态”。

© 手抄报圈