成员控制:
1.public 没有限制
2.protected 只有类的内部和继承类内部可以访问
3.private 只有类的内部可以访问
泛化 :包含关系 a kind of 苹果是水果的一种 空三角型箭头
聚合(组合): 整体部分关系 a part of 车轮是车的一部分
聚合分为 无 共享(空菱形) 复合(实心棱形) 三种关系
类名 :
一般首字符大写 然后每个单词首字符大写连接
类方法参数 参数数量没有达到声明时的数量时出错 参数过多忽略后面的多余参数
__destruct()析构函数
封装性
就是将对象内部的属性或方法封装自己对象的内部 private
信息隐蔽 保留有限的接口
__set() __get() __isset() __unset() 封装常用的四个方法
在某一时刻自动调用的方法
在直接访问/取值私有方法的时候调用__get() 达到对私有属性的直接访问的目的
对私有属性直接赋值的时候调用 __set()
判断一个变量、对象里边的成员,是否存在 isset() 对私有的属性是判断不了的 在类里边加上__isset()就可以判断了 在判断私有属性是否存在的时候调用__isset()
Unset()删除变量,在删除类的私有属性的时候调用__unset()
继承:extends 对原有类的扩展
Java
和 php 单继承 C++是可以多继承 父类之间可以没有关系的
私有的属性和方法不能继承过来 私有成员在子类也不能使用
方法的重载(覆盖) 定义相同的方法名 本来在php里面函数不能重载 方法重载指的是父类和子类方法的重载 父类的方法在子类重写 覆盖掉
Parent::父方法()可以调用父类被覆盖的方法 不用全部重写
访问类型(访问控制) private
protected public
Final static const
Final 只能用来定义类和方法 作用:1.使用final定义的类不能被继承 2.定义的方法不能被重载 覆盖。
Static 静态的 共享,减少内存使用 直接用类名访问 类名::成员 self代表本类名
用静态声明的方法不能使用非静态的成员
Const关键字 在类里面定义成员属性为常量的关键字 类名::成员属性 只能修饰属性
只有在声明的时候给初始值,以后不能赋值更改 没有¥符号 常量一般定义成为大写
Defined();不是在对象里面声明常量
__tostring()自动输出字符串
__clone()
__call($funName,$argus) 调用不存在的方法是自动调用
__autoload()自动加载
对象串行化
就是吧对象转为二进制的字符串,serialize() 反串行化,把二进制字符串转化为对象unserilize()函数,
在串行化的时候,1.对象在网络中传输的时候 2.将对象写入文件或者写数据库的时候
部分序列化 自动调用的方法__sleep()在对象序列化的时候调用
__wakeup() 反序列化的时候调用 反序列化得时候对属性初始化
抽象类与接口
抽象方法 在类里面没有方法体的方法就是抽象方法 没有大括号以及其中的内容,在方法名的后面加一个分号结束,另外还要在方法声明是加上一个关键字“abstract” abstract function fun1();
抽象类 如果一个类里面有一个方法是抽象的,这个类就是抽象类,这个类就要使用“abstract”关键字来修饰。
注意:抽象类不可以实例化对象
用途:抽象类就相当一个规范,必须在子类重载抽象方法。方法名称是固定的
接口:特殊的抽象类 关键字“interface” 所有的方法都是抽象的 所有的属性必须是常量,所有的成员都必须是共有的。也是一种规范
接口的子类 使用关键字implements==extends 类是单继承的,可以继承一个类,实现一个接口 如 class a extends b implements c{} 一个类可以实现多个类、遵循多个规范
可以使用抽象类去实现一个接口的部分方法。 接口和接口之间也使用继承 extends
多态的应用:一段程序实现多个对象的功能。
Pci
Interface pci{
Function start();
Function stop();
}
Class NetCard
implements pci{
Function start(){
Echo “网络连接可以使用”;
}
Function shop(){
Eco “网络断开,失去连接!”;
}
}
Class soundCard implements
pci{
Function start(){
Echo “听见声音 dud u
du”;
}
Function shop(){
Eco “声音停止!”;
}
}
Class viewCard
implements pci{
Function start(){
Echo “可以看到图像”;
}
Function shop(){
Eco “图像消失!”;
}
}
Class mainBoard{
Function usePci($pci){
$pci->start();
$pci->shop();
}
}
Class person{
Function install(){
$mb=new
mainBoard();
$nc=new
netCard();
$sc=new soundCard();
$vc=new viewCard();
$pci=$nc;
$pci=$sc;
$pci=$vc;
$pci->start();
$pci->shop;
}
}
$p=new person();
$p->install();
分享到:
相关推荐
### PHP面向对象手册知识点解析 #### 一、面向对象编程简介 面向对象编程(Object-Oriented Programming,简称 OOP)是一种程序设计范式,它将数据和处理数据的方法捆绑在一起形成“对象”。OOP 的核心思想是通过...
本资源提供了全面的PHP面向对象基础知识点,包括代码示例、知识点汇总以及Xmind思维导图,旨在帮助学习者快速理解和掌握这一关键概念。 1. **类与对象** - **类**:类是创建对象的模板,定义了一组属性(数据成员...
《深入PHP面向对象模式与实践第2版》是一本专注于PHP面向对象编程的书籍,它不仅涉及到面向对象编程的基础知识,还深入讲解了面向对象设计模式以及如何在实际项目中应用这些模式。该书是对PHP开发者掌握面向对象技术...
总结来说,《深入PHP:面向对象、模式与实践》是一本全面的PHP进阶教程,它将帮助读者深入理解PHP的核心特性,掌握面向对象编程的技巧,熟悉常用的设计模式,并学会在实践中应用这些知识,从而提升编程效率和代码...
《深入PHP:面向对象、模式与实践》是PHP开发者的一本经典著作,尤其在第三版中,作者深入探讨了PHP的面向对象编程、设计模式以及实际应用中的最佳实践。本书旨在帮助读者提升PHP编程能力,从传统的过程式编程思维...
总结来说,《深入PHP:面向对象、模式与实践》是一本全面而深入的PHP学习资料,适合有一定基础的PHP开发者提升自己的技能,也适合想要深入理解面向对象编程和设计模式的程序员。配合高清PDF和源码,读者可以在阅读的...
《深入PHP面向对象_模式与实践(第2版)》是一本非常实用且内容丰富的书籍,它不仅涵盖了PHP面向对象编程的基础知识,还深入讨论了设计模式的应用。对于希望提升PHP开发技能的开发者来说,这本书无疑是不可多得的学习...
但是,我可以提供关于PHP面向对象编程的一般性知识,这可能会在书中被讨论。 面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它利用“对象”来设计软件。对象可以包含数据,以字段(通常...
理解这些概念对于编写高效且可靠的面向对象代码至关重要。在处理对象时,需要注意引用和复制的区别,以及如何利用`__clone()`方法来控制对象复制的行为。正确地管理对象可以帮助避免意外的数据修改,提高程序的稳定...
### PHP面向对象部分总结 #### 一、对象基础 在PHP中,面向对象编程(OOP)是一种非常重要的编程范式,它可以提高代码的重用性和维护性。下面是一些关于对象基础的重要知识点: ##### 构造函数 在类中定义构造函数...
总结来说,"PHP解析形式,面向对象.zip"包含的是关于PHP如何实现面向对象编程的知识,包括类、对象、继承、封装、多态、构造函数、析构函数以及命名空间等核心概念。掌握这些内容,开发者能够编写出更高效、可维护的...
在深入PHP:面向对象、模式与实践(第3版)的第13到16章中,作者为我们揭示了PHP编程中的几个关键概念和最佳实践。以下是对这四个主题的详细解析: 13、数据库模式: 数据库模式是设计数据库结构的一种方式,它描述...
根据提供的标题、描述以及部分内容,我们可以总结出与“面向对象编程(OOP)”相关的知识点。虽然提供的部分内容较为杂乱,但可以从中提取出有关PHP面向对象编程的一些实例。 ### 面向对象编程(OOP)简介 面向对象...
它从编程技巧(PHP与MySQL的高级技巧)、面向对象(系统的面向对象知识)和扩展(PHP与其他技术的结合使用)三个角度系统讲解和总结了成为中高级PHP程序员应该具备的技术和技能,包含大量实用案例,极具可操作性。
### PHP面向对象教程知识点详解 ...以上是对LAMP大讲堂中关于PHP面向对象技术的全面讲解的详细知识点总结。通过这些知识点的学习,可以深入理解PHP面向对象编程的核心概念和技术,并能够在实际开发中灵活应用。
- **PHP**: 主要用于Web开发的脚本语言,支持面向对象编程。 - **VB**: Visual Basic for Applications,用于Office等应用程序的开发。 #### 四、面向对象程序设计的特点 面向对象程序设计的核心思想在于将数据...