PHP类与对象 this 构造方法 析构方法

猫斯基  — PHP


对象的两个主要特性:

1、对象的行为。对对象施加操作。如开关机。
2、对象的状态。当施加方法时,对象如何响应;如:电脑的外形、尺寸、颜色等。

在类的成员变量前,一定要有修饰词。

[修饰词] class 类名 {
	[成员属性]
	[成员方法]
}

[修饰词] class 类名 [extends 父类] [implements 接口1,接口2...] {
	[成员属性]
	[成员方法]
}

this的使用

/**
 * @url https://maosiji.com
 
 属性:
	性别:女
	年龄:18
	身高:168
	眼睛:大
	
行为:
	做饭
	做家务
	不生气
 */
class wifeClass {
	
	// 成员属性
	var $name = 'Nox';
	var $age = '18';
	var $sex = '女';
	var $height = '168cm';
	var $eye = 'big';
	
	// 成员方法
	function doFan( $rou, $cai ) {
		echo "{$this->name} 启动做饭功能<br>";
		$this->doWu();
	}
	
	function doWu() {
		echo "{$this->name} 启动做家务功能<br>";
	}
	
}

$wife1 = new wifeClass();
echo $wife1->name = 'Nox1';

echo '<br>-----<br>';

$wife2 = new wifeClass;
$wife2->doFan( '鸡肉', '蘑菇' );


/*
打印结果:
Nox1
-----
Nox 启动做饭功能
Nox 启动做家务功能
*/

构造方法

对象创建完成后,第一个自动调用的方法。

__construct()表示。注意:construct前面两个“_”。

作用:给对象中的成员赋初始值。

class wifeClass {
	
	// 成员属性
	var $name;
	var $age;
	var $sex;
	
	function __construct( $name, $age, $sex='女' ) {
		echo "构造方法<br>";
		$this->name = $name;
		$this->age = $age;
		$this->sex = $sex;
	}
	
	// 成员方法
	function doFan( $rou, $cai ) {
		echo "{$this->name} 启动做饭功能<br>";
		$this->doWu();
	}
	
	function doWu() {
		echo "{$this->name} 启动做家务功能<br>";
	}
	
}

$wife = new wifeClass('Nox', '18');
$wife->doFan( '鸡肉', '蘑菇' );


/*
打印结果:
构造方法
Nox 启动做饭功能
Nox 启动做家务功能
*/

析构方法

对象失去引用前调用的方法。

__destruct() 没有参数。一般做资源的释放。

/**
 * @url https://maosiji.com
ds
 */
class wifeClass {
	
	// 成员属性
	var $name;
	var $age;
	var $sex;
	
	function __construct( $name, $age, $sex='女' ) {
		echo "构造方法<br>";
		$this->name = $name;
		$this->age = $age;
		$this->sex = $sex;
	}
	
	// 成员方法
	function doFan( $rou, $cai ) {
		echo "{$this->name} 启动做饭功能<br>";
		$this->doWu();
	}
	
	function doWu() {
		echo "{$this->name} 启动做家务功能<br>";
	}
	
	function __destruct() {
		echo "{$this->name} 再见!";
	}
	
}

$wife = new wifeClass('Nox', '18');
$wife->doFan( '鸡肉', '蘑菇' );

$wife2 = new wifeClass('Nox2', '19');
$wife2->doWu( );


/*
打印结果:
构造方法
Nox 启动做饭功能
Nox 启动做家务功能
构造方法
Nox2 启动做家务功能
Nox2 再见!Nox 再见!
*/

阅读量:0 2021-01-22 18:25

返回顶部