PHP之类与对象

目录

1 类的声明

2 构造函数与析构函数

3 静态属性与静态方法

4 类的特征

5 类的魔术方法

5.1 __construct,__destruct

5.2 __isset,__unset

5.3 __get,__set

5.4 __call,__callStatic

 5.5 __sleep,__wakeup

5.6 __clone 

5.7 __toString

5.8 __invoke 

5.9 __set_state 

5.10 __debuginfo

6 对象的实例化


1 类的声明

类是事物的抽象化,对象是事物的具体化,在PHP中定义一个类使用class关键字。

<?php
class Mysql 
{
	private $host='localhost';
	private $user='root';
	private $pwd='root';
	private $db='article'
	public function insert(){}
	public function update(){}
	public function delete(){}
	
}
?>

2 构造函数与析构函数

__construct():当创建对象时,首先会调用构造函数对对象进行实例化。

__desctruct():在对象被销毁时前会自动执行析构方法。

<?php
class Man 
{
	private $name;
	private $age;
	private $sex;
	public function __construct($name,$age,$sex){
		$this->name=$name;
		$this->age=$age;
		$this->sex=$sex;
	}
	public function __desctruct(){
		
	}

}
?>

3 静态属性与静态方法

静态属性:静态属性属于类本身,使用static关键字来定义,在类外部通过“类名::静态属性”来访问,在类内部通过“self::静态属性”来访问。

静态方法:静态方法属于类本身,在不实例化对象的情况下通过“类名::静态方法”的形式访问,在类内可以通过“$this->静态方法”的形式访问。

4 类的特征

封装性

使用public、private、protected关键字可以用来修饰对象的属性和方法。

继承性

将一个看做基类,其子类继承该基类时可以使用extends关键字,在子类中想要调用父类的方法时可以通过“parent::父类方法”,子类继承父类之后,在子类中也可以重写父类的方法。

多态性

不同的子类通过重写父类的方法从而实现同样的函数名实现不同的功能。

5 类的魔术方法

5.1 __construct,__destruct

__constuct构建对象的时被调用;
__destruct明确销毁对象或脚本结束时被调用;

5.2 __isset,__unset

__isset对不可访问或不存在的属性调用isset()或empty()时被调用
__unset对不可访问或不存在的属性进行unset时被调用 

5.3 __get,__set

__set当给不可访问或不存在属性赋值时被调用
__get读取不可访问或不存在属性时被调用 

5.4 __call,__callStatic

__call调用不可访问或不存在的方法时被调用
__callStatic调用不可访问或不存在的静态方法时被调用 

 5.5 __sleep,__wakeup

__sleep当使用serialize时被调用,当你不需要保存大对象的所有数据时很有用
__wakeup当使用unserialize时被调用,可用于做些对象的初始化操作

5.6 __clone 

进行对象clone时被调用,用来调整对象的克隆行为

5.7 __toString

当一个类被转换成字符串时被调用

5.8 __invoke 

当以函数方式调用对象时被调用

5.9 __set_state 

当调用var_export()导出类时,此静态方法被调用。用__set_state的返回值做为var_export的返回值。

5.10 __debuginfo

当调用var_dump()打印对象时被调用 

6 对象的实例化

通过new关键字可以将一个类实例化成一个对象。

<?php
class Man 
{
	private $name;
	private $age;
	private $sex;
	public function __construct($name,$age,$sex){
		$this->name=$name;
		$this->age=$age;
		$this->sex=$sex;
	}
	public function __desctruct(){
		
	}

}
$man=new Man('brell',22,'Boy');
?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值