对比JAVA学习PHP系列:面对对象

面对对象要从语法和面对对象的思想两方面着手学习
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类似

顶层思想一致,细节写法上有细微的差别
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值