面向对象有两个很重要的概念:类和对象
类是抽象的,而对象是具体的
类是某种功能的抽象模型,当它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的脚本执行完毕,所有的内存(包括对象、变量)都会自动销毁
3万+

被折叠的 条评论
为什么被折叠?



