首页 > 代码库 > 面向对象的编程

面向对象的编程

一、面向过程与面向对象的对比

  1,二者都可以实现代码的重用和模块化编程

  2,面向过程,"自顶向下,逐步细化",程序的主体是函数,通过函数来完成每一个步骤;而面向对象,通过一个个的实体有序地协调来完成操作和业务逻辑,主要针对功能

  3,面向过程,只需要封装和调用函数就可以了;而面向对象,要先封装类,通过类实例化对象,再通过对象调用方法,实现相应的功能

  4,面向对象的数据更封闭,更安全,并且更容易解决大型的复杂的业务逻辑;面向过程,开发相对简单一些,适合中小型的项目

  5,从维护和拓展的功能来看,面向对象比面向过程更具优势

二、类

  类是对现实生活中一类具有共同特征的事物的抽象。

  类的组成:属性、方法、类常量。类名不区分大小写,一般采用大驼峰法,属性名则采用小驼峰法。

  要想得到对象,必须先有类,类是对象的规范,规范对象应该具有哪些属性和方法。要想操作属性和方法,必须指明该对象。

  构造方法__construct( )、析构方法__destruct( )、对象的传值与克隆

  类文件的自动加载机制__autoload( )、注册自动加载函数spl_autoload_register( )、数据的序列化与反系列化serialize 和 unserialize

  最终类final与抽象类abstract、接口interface

接口与抽象类的区别

1,  接口可以看成是抽象类的一个“子集”

2,  都可以规定下级类的内部结构。而接口只能规定下级类的内部结构,更是类的纯粹的一种规范(接口不是类,是类的规范,而类是对象的规范)

3,  PHP不支持多继承,但是支持多实现。一个类可以同时实现多个接口,这也是抽象类和接口最本质的区别

4,  如果一个类实现了多个接口,要么实现所有接口的抽象方法,要么就只能做抽象类。

 

接口不是类,只是类的一种规范。规定实现该接口的下级类必须要实现的公共的方法

接口成员:接口常量、抽象方法(必须为public,不能出现普通方法)

如果要使该接口作用到类上面,class  类名 implements 接口名

 

属性重载、方法重载、后期静态绑定

 

三、单例模式和工厂模式

单例模式:"三私一公"

工厂模式:只要传递给这个“工厂”一个类名,就可以得到一个相应的对象。利用工厂模式生产单例对象!

 

四、对象的遍历

1,一般遍历

2,自定义遍历(接口编程)

  foreach的5个步骤:初始化指针、判断指针是否合法、获取值、获取键、移动指针

 

五、命名空间namespace

1,空间成员:常量、函数和类

2,子空间

3,空间成员的访问:非限定名称访问、限定名称访问、完全限定名称访问

4,空间引入和空间类引入

5,全局空间

 

六、MySQLDB工具类

单例模式

1,  增加用于保存对象的私有静态属性

2,  把构造方法私有化

3,  增加一个可以获得单例的公共方法

4,  将__clone私有化

 

属性重载:

1,__unset什么都不做

2,__isset只给用户查询一些设置的连接属性

3,__get中只给用户看一些用户连接的信息

4,__set中也只给用户设置一些基本连接信息

  

 

 

 

  

面向对象的编程