PHP5 面向对象(学习记录)

yipeiwu_com5年前PHP代码库
1,继承extends 只能单继承
public protected private 属性
__construct()
__destruct()
__get()读取私有成员
__set($n,$v) 设置私有成员
2,访问父类函数 :: (c++里面也叫作用域符)
7
3,重载 和 父类名字相同的 函数

4,抽象类 abstract 必须继承 不能被实例话 并且 必须要重写抽象函数 只要类中有一个函数是静态的 那么类必须为静态

5,常用关键字
1,final 定义类的时候 类 不能被继承 定义 函数时 函数 不能 重载
2,self 用来访问未实例化类中的属性或者方法 (静态或者常量) 使用方法 self::属性
3,static 定义静态成员或者方法只会在内存出现一次 (静态方法内 不能出现非静态内容)
4,const 定义常量 只能修饰成员属性 修饰的常量 不加 $
6,接口的应用 interface接口定义关键字 implements引用
接口:全部为抽象方法,不用加 abstract 属性 应该为常量
interface Demo{}
class T implements Demo{} 可以引用多个接口
先继承后接口 class a extends root implements Demo{}
接口继承接口 interface D extends Demo

7,多态 php 是 弱类型语言 所以支持不是很完美
instanceof 测试 一个实例是否来自一个类 example: a{} $c = new a; if($c instanceof a)
8,对象 作为参数传递 给函数 时 不运行 构造函数 并且 并非是复制副本,而是传递对象地址

9,对象 描述配置 __tostring(){内容} 直接echo 对象

10,对象 异常处理 __call($name,$value) 调用不存在的方法名时 自动吸收 你的错误 并且显示$name 和 错误参数的 值

11,对象克隆 __clone()放在 类里面 clone关键字 (相当与c++的拷贝函数)

12,自动载入 function __autoload($class_n){
include($class_n.'php');
} 当自行 new 一个类时 自动载入 inlcude()一个类

相关文章

php学习笔记之面向对象编程

复制代码 代码如下:<?phpclass db {     private $mysqli; //数据库连接     p...

Zend framework处理一个http请求的流程分析

Zend framework处理一个http请求的流程分析

  1, 首先是bootstrap过程,初始化程序里用到的资源 2, 创建一个Zend_Controller_Front实体,实现front controller模式,这个实...

解析将多维数组转换为支持curl提交的一维数组格式

复制代码 代码如下:/**     * @desc    多维数组转化为支持curl提交数组  ...

PHP使用strstr()函数获取指定字符串后所有字符的方法

本文实例讲述了PHP使用strstr()函数获取指定字符串后所有字符的方法。分享给大家供大家参考,具体如下: PHP的strstr()函数可搜索字符串在另一字符串中的第一次出现位置,并返...

自己写了一个php检测文件编码的函数

关于文件编码的检测,百度一下一大把都是,但是确实没有能用的、 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出、 看到有人写了个增强版,用 B...