PHP面向对象的程序设计总结(整理版)
PHP面向对象的程序设计总结
第8章_PHP面向对象的程序设计
1.面向对象的概述 ......................................................................................................................................................2 2.构造方法和析构方法 ...............................................................................................................................................2 3.封装性 ....................................................................................................................................................................3
对成员属性封装使用的魔术方法:__set()、__get()、__isset()、__unset() ..............................................................3 4.继承性 ....................................................................................................................................................................4 5.常见的关键字和魔术方法 ........................................................................................................................................5
Final关键字........................................................................................................................................................5 Static关键字 .......................................................................................................................................................5 Const关键字.......................................................................................................................................................6 单态设计模式:..................................................................................................................................................6 Clone魔术方法 ...................................................................................................................................................7 __toString()魔术方法 ...........................................................................................................................................7 __call()魔术方法 .................................................................................................................................................8 __autoload()魔术方法 ..........................................................................................................................................8 对象串行化.........................................................................................................................................................8 __sleep()和__wakeup()魔术方法 ...........................................................................................................................9 6.多态性 .................................................................................................................................................................. 11
抽象类: .......................................................................................................................................................... 11 接口:.............................................................................................................................................................. 12
PHP面向对象的程序设计总结
1.面向对象的概述
面向对象的程序的最小单位是:对象
面向过程的程序的最小单位是:函数 对象可以包含函数
对象由两部分组成:成员属性(变量,静态的)和成员方法(函数,动态的); 对象是通过类实例化出来的,所有面向对象的编程规则是: 先声明类---->实例化对象(创建对象)---->使用对象。 声明类:[一些修饰类的关键词] class 类名{
类中成员(成员属性,成员方法); }
例如:class Person{
Private $name; Private $age; Private $sex; Function say(){}; Function eat(){};
}
实例化对象:$变量名=new 类名称([参数类表]); 例如:$p1=new Person; 对象类型在内存中的分配:
内存分为四个部分:栈空间段,堆空间段,数据段和代码段 栈:存放对象的地址。
堆:存放可变长度的数据:字符串,数组和对象 数据段:存放初始化变量,全局变量等 代码端:存放执行文件的操作指令(函数) 对象中的成员访问:
赋值:$引用名->成员属性=值; 获取:echo $引用名->成员属性。 调用成员方法:$引用名->成员方法。 $this代表本对象。
2.构造方法和析构方法
构造方法:是对象创建完成后第一个被对象自动调用的方法。 析构方法:是对象被销毁前自动调用的方法 构造方法的作用:为成员属性初始化。 Function __construct([参数列表]){ //构造方法名称是以两个下划线开始的__construct();
方法体;
}
析构方法: Function __destruct(){ //析构方法名称是以两个下划线开始的__destruct();
方法体;
}
PHP面向对象的程序设计总结
3.封装性
封装性:就是把对象的成员属性和成员方法结合成一个独立的相同单位。并尽可能隐蔽对象的内部细节。 封装所有的关键词有:public,private,protect.
对成员属性封装使用的魔术方法:__set()、__get()、__isset()、__unset()
__set():设置私有属性值时自动调用的魔术方法 __get():获取私有属性的值的时候调用的魔术方法
__isset():在外部直接查看私有属性是否存在时自动调用的魔术方法 __unset():删除对象中私有属性时自动调用的方法。 实例:
PHP面向对象的程序设计总结
此程序的执行结果:
4.继承性
类的继承性(扩展性)使所建立的软件具有开放性、可扩充性、增加代码的可重用性、提高软件的可维护性。 Php是单继承的
父类(基类)--------子类(派生类)父类和子类就是一种继承的关系
子类可以从父类中继承所有的成员属性和成员方法(除了private类型成员的不能继承) 访问类型控制:
子类和声明和父类相同的方法名,即子类覆盖了父类中同名的方法。在子类中也可以改写重载的方法。 在类中调用父类的方法用parent:: 在外部:对象->成员 类名::成员
注意:如果子类再声明构造方法时,如果父类中已经有了构造方法(子类覆盖),一定要调用一次父类中的构造方法,否则父类中的构造方法就执行不到了,这样有一些的功能就不能自动执行。
PHP面向对象的程序设计总结
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




