首页 > 代码库 > 面向对象的编程
面向对象的编程
一、面向过程与面向对象的对比
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中也只给用户设置一些基本连接信息
面向对象的编程