OOP 相关知识的复习
2017-09-17 16:31
204 查看
OOP 相关知识的复习
1.OOP真正的价值在于封装2.构造函数 __construct()
析构函数 __destruct()
3.静态属性和静态方法:
1)静态属性是属于类的变量而不属于对象
2)静态方法中不能引用this关键字
静态方法使用 :: 调用 如Courier::getSomething()
4.命名空间
1)从PHP5.3开始支持命名空间
2)
namespace shipping;
class Courier{}
Courier //在shoipping 命名空间中
shipping/Courier //在全局命名空间中
/shipping/Courier //在其他命名空间中需要从顶部开始 将引导命名空间运算符 ‘/’ 放在类名前
5.复制对象
clone关键字会从同一个类中创建一个对象,这个对象和原对象一样具有相同的属性
$courier = new Courier("newObject");
$other_courier = clone $courier;
6.异常
try/catch块
try{
$db = new PDO("mysql:host=nonsense");
echo "Connected" to database;
}catch (Expection $e){
echo "Oops!".$e->getMessage();
}
PHP没有finally子句
抛出异常
throw new Exception('Something Error');全局异常处理程序,用于捕获未被捕获的异常
function handleMissedException($e){ echo "error"; error_log('Unhandled Exception:'.$e->getMassage().'in file'.$e->getFile().'on line'.$e->getLine());//将错误写入文件 } set_exception_handler('handleMissedException');//调用set_exception_handler()方法注册这个函数来处理未捕获的异常 throw new Exception('just testing!'); }
7.神奇方法
__call():当调用一个没有在类中声明的方法时,可以调用__call()方法代替声明另一个方法。__call($name,$parse)
$name接收不存在的方法名,$parse作为一个数组接受参数
_toString()输出对象,在echo该对象时会调用__toString()方法
public function __toString() { // TODO: Implement __toString() method. return $this->name.'('.$this->home_country.')'; }序列化对象:将对象转换为一个文本的格式,以便存储
$u = serialize($courier);反序列化
$u2 = unserialize($u);序列化与反序列化时会分别调用__sleep()和__wakeup()方法
相关文章推荐
- Java锁与性能相关知识复习与整理
- IP相关知识复习
- HTML相关知识总结(用于个人复习)
- 给大家复习下PASCAL及相关历史知识
- JS中的DOM相关知识复习笔记
- I/O相关知识复习二
- 数据库相关知识复习总结《一》
- #春节复习系列#操作系统相关知识
- 复习数据库相关知识
- CSS、JavaScript、html相关知识复习(不定期更新,注定逻辑混乱毫无章法,不适合做入门资料纯当业余吐槽)
- 对C语言结构体知识点的学习以及复习相关基础知识
- TCP/IP相关知识复习与总结(https/网络程序性能分析)
- JAVA相关知识复习
- Java复习第三天---集合框架的相关知识
- 数据库相关理论知识整理复习
- C#基础,面向对象OOP及OOD的相关知识
- javascript中对象在OOP方面的一些知识(主要是prototype和__proto__相关)
- 复习UNIX/linux文件系统目录权限的相关知识
- POSIX 消息队列基础知识复习,以及相关例程
- I/O相关知识复习一