面对对象要从语法和面对对象的思想两方面着手学习
php4中面对对象的功能并不完善,php5才完整引入面对对象的功能。
主题PHPJAVA
封装
1.什么是封装
2.类
概念、类的访问控制符、类的定义方法、类的构造器
3.对象
概念、创建对象的方法、对象和类的关系
类
类的声明和java一致
成员属性
多了一个var关键字,但是如果一旦成员属性有其他的关键字修饰,就需要去掉var
成员方法
和java一致,注意php函数的语法
构造方法:与java完全不同
特别注意:PHP中不能有同名的函数,所以不存在重载
析构函数:php也是支持自动垃圾回收的
魔术方法:
__set()\__get()\__isset()\__unset()方法
也有private、protected、public等,与java一致
toString方法
自动加载类:include、__autoload
对象串行化:如果对象要在网络、文件、数据库中保存,就要串行化,与java思想一致,写法有区别
对象
对象类型在内存上的分配大体与java一致
对象中成员的访问操作符和java区别较大
顶层思想一致,细节写法上有细微的差别
继承
1.什么是继承
2.抽象类和接口
特别注意:PHP中不能有同名的函数,所以不存在重载(同一个类中)
但是有重写。子类可以重写父类中的方法
在php中提供了在子类重载的方法中调用父类中的被覆盖的方法。用parent::方法名。
抽象类和接口
与java一致
顶层思想一致,细节写法上有细微的差别
多态
1.什么是多态
2.向上转型
3.向下转型
与java一致顶层思想一致,细节写法上有细微的差别
一些关键字
final、static、this、super等等
java中是this,php中是$this
java中super,php中是parent::方法名
finally与java中一致
static:
php中static可以修饰类成员和类方法,声明为静态,define是声明常量的,这里是静态
php中如何访问静态成员和静态方法:
该类内部:
self::静态成员属性/静态方法
类外部:
MyClass::getCount()或对象->getCount()
显然和java是不一样的,即很多顶层思想一致,写法不一致
const
php中要将类的成员属性声明为常量,只能用const,不能用define
instanceof
与java类似
顶层思想一致,细节写法上有细微的差别
转载请注明原文地址: https://ju.6miu.com/read-1295943.html