PHP面向对象1之基础
许多语言本身就是面向对象(OOP)的,而 PHP 用了几年才引入了这类功能。面向对象的诞生是开发范型一次的重大改变,编程的注意力重新从应用程序的逻辑回到其数据上来。换句话说,OOP 将焦点从编程的过程性事件转向最终建模的真实实体。这使得应用程序更接近于我们周围的现实世界。
一.什么是面向对象
面向过程
这就好比你是公司的一名员工, 今天有个任务要在公司组装一批电脑。 那么你就开始采购、讨价还价、运输回公司、开始组装、布线网络、调试机器、完成。也就是说,面向过程就是具体化的实现,细节明确。
面向对象
这就好像你是公司的总裁, 你布置给一名员工一个组装一批电脑的任务。 完毕。 也就是说, 面向对象就是抽象化的执行, 具体还是由那名员工来完成。 而细节方面, 总裁不需要去考虑。 这样的好处是显而易见的, 在有管理高层的公司可以协调作业, 而没有管理高层的公司,只有一些具体实现功能的员工,会乱做一团。
二.OOP 的特点
封装
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成 一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
继承
继承是从一个基类得到一个或多个类的机制。继承自另一个类的类被称为该类的子类。 这种关系通常用父亲和孩子来比喻。 子类将继承父类的特性。 这些特性由属性和方法组成。 子类可以增加父类之外的新功能, 因此子类也被称为父类的“扩展” 。
多态
多态是指 OOP 能够根据使用类的上下文来重新定义或改变类的性质或行为,或者说接口的多种不同的实现方式即为多态。 把不同的子类对象都当作父类来看, 可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
三.关键的 OOP 概念
类(class)
类是对某个对象的定义。 它包含有关对象动作方式的信息, 包括它的名称、 方法、 属性和事件。 实际上它本身并不是对象, 因为它不存在于内存中。 当引用类的代码运行时, 类的一个新的实例, 即对象, 就在内存中创建了。 虽然只有一个类, 但能从这个类在内存中创建多个相同类型的对象。
对象(object)
对象是一件事、 一个实体、 一个名词, 可以获得的东西, 可以想象有自己的标识的任何东西。对象是类的实例化。一些对象是活的,一些对象不是。比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。 概括来说就是:一切皆对象。
例如:类是对象的抽象定义,说白了,如果这个对象是电脑,类可以创建出许多对象,类可以生成很多电脑, 再白一点, 类可以当成一个电脑生产厂, 可以生成出很多很多台电脑。
字段(filed)
字段是用于描述类的某方面的性质,它与一般的 PHP 变量非常相似,只是有一些细微的差别。
例如:电脑品牌,电脑的型号等特性。
属性(attribute)
通过方法来访问和操作字段, 一方面可以保护字段, 同时还允许访问公共字段一样访问数据。
例如:获取电脑品牌,设置电脑品牌等操作。
方法(method)
方法与函数非常相似, 只不过方法是用来定义类的行为。 与函数一样, 方法可以接受输入参数,可以向调用者返回一个值。
例如:打开电脑,输入文本,运行程序。
1 <?php 2 /** 3 * PHP面向对象基础 类和对象的声明 4 */ 5 //创建一个电脑的类 格式:修饰符 class 类名{} 6 class Computer{ //类名首字母要大写 7 8 } 9 //对象的声明 10 //格式:变量 = new 类名(); 11 12 //new Computer() 是实例化的过程,意思就是创建对象 13 //$computer1 = new Computer();这个过程就是把实例化对象的地址赋给$computer1 14 //$computer1可以称为对象的应用 15 $computer1 = new Computer();//这是创建的第一台电脑 16 $computer2 = $computer1; 17 //$computer2 = new Computer();//这是创建的第二台电脑 18 echo var_dump($computer1); 19 echo '<br />'; 20 echo var_dump($computer2); 21 ?>
本文发于:安全大可文章转载请注明出处:http://im404.cnblogs.com
相关事宜请联系:im404@qq.com

浙公网安备 33010602011771号