将要完成的工作,分成所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了,从而达到最终的目的和结果。
比如说把大象装进冰箱,总共分几步? 一、把冰箱门打开 -》 二、把大象装进去 -》 三、把冰箱门关上。
将要完成的工作拆分为“一个一个对象”的任务(功能),每个对象独自完成自己的任务,任务之间的链接通过“调用”来实现,最终也完成了整体的工作。
比如说把大象装进冰箱,怎么做?需要有一个冰箱类,一个大象类。冰箱类里有“开门”功能方法,“关门”功能方法。大象类有“进冰箱”功能方法。
把两个类实例化成两个对象(冰箱对象和大象对象),依次发号指令:冰箱对象执行开门功能 -》 大象对象执行进冰箱功能 -》 冰箱对象执行关门功能。
面向过程可以看出就像一个劳动者,什么都要自己去做。面向对象像一个管理者,它只需要发号指令,指挥各个对象去做事情。
面向对象是设计思想的“升华”——面向过程是解决简单问题的自然的思维过程,面向对象是解决大规模的复杂问题的良好思想。
PHP与面向对象
PHP本身不是纯面向对象的语言,毕竟是从面向过程转到面向对象,所以说对面向对象思想的展现并不是很完美,更多的PHP程序员还是喜欢定义函数去完成功能。面向对象3大思想特征:封装、继承、多态,PHP的面向对象对“多态”特征表现的也不是很明显。楠神感觉只有Java才算得上是正宗的面向对象语言,C++也是面向对象编程,可它支持了C的语法,C是面向过程编程,也就算不上正宗了。
面向对象编程是编程的主流,利用面向对象可以较好地解决复杂问题。如果我们要去开发一个很大功能的程序,用面向对象的思想做整体的架构是非常好的。
理论上的书面解释就不多写了,我们直接奔着知识点去学习。
面向对象基本概念——类与对象
万事万物皆对象,实例化一个对象必须先有“类”。类是什么?
类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。
通常,一个类所具有的共同特征包括2大方面的信息:
属性:该事物的描述信息,比如外观,形状,数据。。。。。
方法:该事物能够做什么,比如行为,动作,功能。。。。。
对象:是指一个具体的“物体”,该物体隶属于某个“类别”(类)。
通常,对象离不开类,没有类,就不能有对象。
看下面的代码:
定义了一个person类,语法是:以关键字 class 开头,后面跟着类名,大括号里是类的内容,类里可以有变量和函数(也可以有常量)。
这里有种叫法的区别:类里的变量我们称为属性,函数我们称为方法,同理,类外面的属性我们称为变量(方法和函数里的变量也称为变量),方法我们称为函数。
需留意的地方:对类命名时,要使用大驼峰法命名,(大驼峰法就是每个单词首字母大写)。小写不会报错,对类命名使用大驼峰法是程序员编程的一致共识,我们要一起保持这样良好的习惯。还有每定义一个类都要单独地写到一个文件里,并按照这样的格式命名:类名.class.php,这也是一种良好的习惯,实际项目开发时都得这样写的。
有“类”了,怎么去实例化一个对象,创建一个对象呢。
创建对象的最基本的形式:
$对象名 = new 类();(没有对象就 new 一个)
从类到对象,简单的演示结束了。有些语法看不懂,不着急,后面会做详细地讲解。
$p1、$p2的数据类型就是“对象”,到此PHP的八大数据类型:
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值),Resource(资源类型)
我们都一一用到了。
类与对象的关系:
举例子加深理解:
张三是一个对象,李四也是一个对象。王五同样是一个对象。。。。。
他们都隶属于“人”这个“类”(人类),同时我们也可以说隶属于“脊椎动物类”,还可以说属于动物类,甚至生物。
全国同名的人那么多,把张三可看成“类”,每一个叫张三的都是一个对象。
把类想象成为AV女优,一个抽象的职业,把实例想象成为苍老师,一个活生生的人,当想lu的时候脑海会自动创建一个名字为‘苍井空’的AV女优实例,而不可能只想着AV女优这四个字来lu。这就是实例化对象的过程。
“对象”是PHP的一种数据类型,确切地说我们定义的类才是数据类型,而“对象”正是符合这种数据类型的具体数据。