在实例化一个对象的时候,通常需要初始化。 对象被销毁的时候,需要有回收。所以就用到了类里面的两个内置的方法:构造方法和析构方法。
构造方法:
<?php class Computer{ public function __construct() //内置的构造方法,不用调用直接就会执行 { echo "cpu就绪。。"; echo "主板就绪。。"; echo "内存就绪。。"; } public function game() { echo "---玩游戏---"; } } $computer = new Computer(); $computer->game(); //结果为:cpu就绪。。主板就绪。。内存就绪。。---玩游戏---
<?php class Computer{ public function __construct($high = 0) { if($high){ echo "高配的cpu就绪。。"; echo "高配的主板就绪。。"; echo "高配的内存就绪。。"; }else{ echo "cpu就绪。。"; echo "主板就绪。。"; echo "内存就绪。。"; } } public function game() { echo "---玩游戏---"; } } $computer = new Computer(1); // 1这个参数就是构造方法的参数 $computer->game(); //结果为:高配的cpu就绪。。高配的主板就绪。。高配的内存就绪。。---玩游戏---
析构方法:
<?php class Computer{ public function game() { echo "---玩游戏---"; } public function __destruct() //是析构方法,直接可执行 { echo "关闭电源。。。"; } } $computer = new Computer(); $computer->game(); //结果为:---玩游戏---关闭电源。。。 //还可以这样 手动释放对象变量 unset($computer); echo "good job"; //结果为:---玩游戏---关闭电源。。。good job
类常量:
<?php class Computer { const YES = ture; //const关键字定义类常量,类常量一般是大写字母和下划线组成 const NO = false; const ONE = 1; const TWO = self::ONE + 1; //在类里用self调用类里的常量 const THREE = self::TWO + 1; } var_dump(Computer::THREE); //在类外面可直接调用类里的常量,结果为:int(3)
类常量使用见截图
构造函数必须是public,否则不能创建对象。但是如果设置为private,就可以实现单例模式
<?php
class Computer{
public function __construct()
{
echo " ";
}
public function game() { echo "-----------"; }
}
$computer=new Computer();
$computer->game();
?>
1、类常量:const
2、调用类常量:self::
3、$this是对象
4、self是类本身
常量一经定义不可更改
不是很清楚$this和self的区别
class Notes {
//定义类属性
public $table = '数据表';
//定义类属性
const NUM = 3;
}
$notes = new Notes();
echo $notes->table;//调用类属性
echo $notes::NUM;//调用类常量
构造方法:public function __construct(){
}-------实例化对象时自动执行的方法
析构方法:public function __destruct(){
}-------销毁一个对象时会自动执行的方法
self::one -----------调用自己类的one常量
调用类的某个常量
$this------调用类里面的属性和方法
*类常量。。。
大写字母和下划线组成
*类常量。。。
大写字母和下划线组成
构造方法与析构方法
常量是属于类的,不是属于对象的,在类内部用"self:常量名"调用,在外部用"类名:常量名"调用
构造方法是你在实例化一个对象的时候就会自动的去执行的一个方法
当$computer被销毁析构方法才会开始执行
__construct()构造方法,实例化对象时自动调用。
this 对象
self 类本身