php面向对象基础学习

PHP重写

parent::work();   work() 是父类的方法明
parent::__construct($name,$age) 初始化父类的属性

PHP常用的魔术方法

__get 再类的外部去访问私有的或者受保护的属性时会调用 返回的是你访问的属性名、

__set 再类的外部去设置私有的或者受保护的属性时会调用 

__unset 对象再外部销毁私有属性或者受保护的属性的时候调用
该方法有一个参数 是私有成员属性名

__isset 对象再外部判断私有属性或者受保护成员属性的时候调用
该方法有一个参数 是私有成员属性名

__construct 构造方法
该方法再创建对象的时候自动调用

__destruct 析构方法
在对象被销毁的时候她会自动调用这个方法

__toString 
当你echo 一个对象的时候会被调用  该函数需要return一个字符串

__debufInfo
当你var_dump() 一个对象的时候会被调用 该函数需要return一个数组

__call()
当你调用一个不存在的对象或方法的时候会被调用

__callStatic
当你调用一个不存在的静态方法的时候会调用

__clone
当你克隆一个对象的时候调用  你可以对克隆的属性进行一些操作,或者一些初始化

__autoload() (这是唯一一个写在类外面的魔术方法)
当你new 一个对象的时候,当前脚本没有这个类,那么会触发这个方法
参数就是该类的类名

PHP常量

常量前面不能加修饰符
在类的外面定义常量使用defind(),在类的内部定义常量使用const();

php静态方法

在类的外部调用类的属性需要加上$符号,比如
Person::$name //静态属性
Person::test() //静态方法

在类的内部访问静态属性,如下
self::test()
self::$name;
在静态方法中不能出现this关键字

PHP抽象类

抽象类用abstract class Person
注意
1,抽象类不能实例化对象
2,抽象类的存在目的是为了让子类继承
3,抽象类和普通类的定义方式一样,只是在前面加了一个abstract
4,抽象类里面必须有抽象方法,抽象方法是用来让子类来实现的,而且子类必须实现,如果不实现的话就会报错
5,抽象方法只能是public或者protected
6,抽象方法如果有参数,参数有默认值,那么实现该方法的时候参数和默认值都要有
7,抽象类可以继承抽象类,子类在实现的时候所有的抽象方法都得实现

PHP接口

interface:接口
implements:实现

注意
1,接口中的方法都是抽象方法
2,接口中的方法必须是public
3,接口中只能规定方法,不能写属性,(接口中可以写常量)
4,一个类可以实现多个接口,中间用逗号隔开
5,一个类可以先继承父类,然后在实现接口
6,接口可以继承接口,但是里面的方法都要实现

trait(特性)

trait就是用来模拟实现多继承的

定义trait要以trait关键字开头,然后里面的写法和正常类里面的写法一样
一般情况下我们trait中我们不添加成员属性,只添加成员方法
trait不能实例化
trait中的方法想让子类使用的话,该方法必须是public
trait可以嵌套trait
用的时候直接在类里面use 一下类型就行

常用方法

字符串调用函数
call_user_func('test',1)
call_user_func_array('test',['参数1','参数1'])

异常处理函数

set_exception_handler('test');
throw new Exception('现在有异常了')

function test()
{
echo $e->getMessage();
}

强烈推荐学习网站

http://xiaoyupp.top/index/Muke/index
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值