PHP面向对象基础

1 篇文章 0 订阅
1 篇文章 0 订阅

1、__constract()构造函数知识点

a、实例化对象的时候,如果子类没有构造函数,就调用父类的构造函数。如果子类有构造函数,这首先调用自己。

b、调用父类的构造函数 parent::__constract();


2、PHP不支持多重继承,因为多重继承容易产生二义性。但如果让c->b->a,就可以实现多重继承的功能。

3、多态:即多种形态。可以分为方法的重写和方法的重载,但PHP不支持方法的重载,只支持方法的重写。

a、子类必须要父类具有相同的方法名;

b、子类中重写的方法可以和父类的方法参数个数不一致(不遵循严格标准);

c、子类中覆盖的方法不能比父类被覆盖的方法权限更加严格;

d、私有属性可以被继承,但不能被重写。


4、方法修饰符(一)static(静态的)

a、static修饰的属性为静态属性,static修饰的方法为静态方法;

b、静态属性在加载类的时候就分层内存空间,不需要实例化就可以直接访问静态成员;

c、静态属性在内存中只有一份,为所有的实例共享;

d、静态方法只能访问静态成员,因为静态方法创建的时候,可能还没有类的实例化;

e、访问静态成员语法,类名::静态属性,类名::静态方法;

f、静态成员被继承


5、方法修饰符(二)-final(最终的)

a、final 修饰的类不能被继承;

b、final修饰的方法不能被重写(覆盖)


6、方法修饰符(三)-abstract(抽象的)

a、abstract修饰的类为抽象类,abstract修饰的方法称为抽象方法;

b、如果一个方法只有方法的声明,没有方法的实现,这个方法就称为抽象方法;

c、如果一个类中有一个方法是抽象方法,这个类就是抽象类;

d、抽象类不允许实例化,必须在子类中重新实现;

e、抽象类的作用:抽象类是用来定义规范的,可以使得方法的命名得到统一;

f、抽象类的特点是不能被实例化,如果一个普通类不想被实例化,可以在类的前面用abstract来修饰,阻止实例化。


7、接口(interface)

a、如果一个抽象类中所有的方法就是抽象方法,这个类可以声明成接口;

b、接口是一个特殊的抽象类;

c、接口中的访问修饰符可以省略 ,默认是public;

d、类不能继承接口,只能实现接口(implement);

e、abstract,final不能修饰接口中的抽象方法;

f、类不能多重继承,但是接口可以实现多重继承;

g、在接口的多重实现中,如果有多个同名的抽象方法,只需要实现一次即可。

h、继承类同时实现接口,先要继承类,再实现接口。


8、类常量

1、语法:const 常量名

2、访问常量:     类名::常量名  接口名::常量名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值