面向对象一论

面向对象有两个很重要的概念:类和对象

类是抽象的,而对象是具体的
类是某种功能的抽象模型,当它new实例化的时候就有了对象。
类只有一个,而对象可以多次new实例化多个。

类有三个基本特征

封装:把某种功能的所有实现封装成一个类,比如数据库工具类

继承:继承一个父类的所有功能,php和java是单继承(class 类名 extends 父类A),c++有多继承(class 类名 extends 父类A,父类B)。

多态:一个类继承之后没有进行升级、拓展,那这个继承就没有意义。这就涉及到多态的概念。

多态主要是指方法的重载和重写。

php中没有函数的重载(一个脚本中定义两个同名函数)和方法的重载(一个类中定义两个同名方法)。

php方法的重写是继承的基础上进行,也就是多态是在继承基础上进行。

与父类相比,php的方法重写以下四个特点

1、重写的方法名称相同

2、重写的方法参数个数相同

3、重写的方法类型相同,成员方法的重写也必须是成员方法,静态方法重写的是静态方法

4、重写的方法的权限修饰符,不能小于父类方法的权限修饰符

权限修饰符

public 共有的;权限范围最大,所有都可以访问

protected 受保护的,继承的,权限第二,只能类自身和类的子类可以访问

private 私有的,被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问

self与parent关键字

在类继承后,如果方法和属性没有重写,那么两者是等价的

类和对象两个相关的方法
构造方法:在类实例化时自动调用,关键字__construct 修饰,new 类名(参数,参数),这里参数就是传到构造方法里
析构方法:在对象销毁前调用,关键字__destruct 修饰

另外php的脚本执行完毕,所有的内存(包括对象、变量)都会自动销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值