欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学习php面向对象知识小结(对象的创建,构建函数以及析构函数的使用)

程序员文章站 2022-06-22 08:37:47
学习php面向对象知识小结 一、类的创建 1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。2. 定义类的属性3. 定义类的方法 class NbaPlayer { // 类的属性的定义 public $name="小明"; public $age ......
学习php面向对象知识小结

一、类的创建

1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名通常每个单词的第一个字母大写。
2. 定义类的属性
3. 定义类的方法

class nbaplayer
{
    // 类的属性的定义
    public $name="小明";
    public $age="18";

    // 类的方法的定义
    public function sayname() {
        echo $this->name."\n";
    }

    public function sayage(){
        echo $this->age."\n";
    }
}

4. 实例化类的对象
5. 使用对象的属性和方法

//1. 类实例化为对象时使用new关键字,new之后紧跟类的名称和一对括号。
// 2. 使用对象可以像使用其他值一样进行赋值操作

$xiaoming = new person();
// 访问对象的属性使用的语法是->符号,后面跟着属性的名称
echo '属性调用:'."\n";
echo $xiaoming->name."\n";
// 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号
echo '方法调用:'."\n";
$xiaoming->sayname();
$xiaoming->sayage();

我们运行一下这个代码 (通过命令行的形式)

 学习php面向对象知识小结(对象的创建,构建函数以及析构函数的使用)

我们成功使用类实例化了一个对象

二、 构造函数与构造函数

 默认的构造函数,在对象被实例化的时候自动调用

 

<?php
date_default_timezone_set("prc");

class person
{
    // 类的属性的定义
    public $name = "小明";
    public $age = "18";

    //构造函数的使用
    function __construct($name, $age)
    {
        $this->name = $name; // $this是php里面的伪变量,表示对象自身
        $this->age = $age;
    }

    // 类的方法的定义
    public function sayname()
    {
        echo $this->name . "\n";
    }

    public function sayage()
    {
        echo $this->age . "\n";
    }
}


$aym = new person('aym','20');

$aym->sayname();
$aym->sayage();

运行效果

学习php面向对象知识小结(对象的创建,构建函数以及析构函数的使用)

 

 

 可以看到我们已经成功初始化了我们想要的结果

我们并没有直接去调用这个function __construct()函数,而是在我们在对象被实例化的时候自动调用

析构函数的使用析构函数,用于清理程序中使用的系统资源,比如释放打开的文件等等

析构函数在该对象不会再被使用的情况下自动调用

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)

<?php
date_default_timezone_set("prc");

class person
{
    // 类的属性的定义
    public $name = "小明";
    public $age = "18";

    //构造函数的使用
    function __construct($name, $age)
    {
        $this->name = $name; // $this是php里面的伪变量,表示对象自身
        $this->age = $age;
    }

    //析构函数的使用
    function __destruct()
    {
        echo "destroying " . $this->name . "\n";
    }

    //类的方法的定义
    public function sayname()
    {
        echo $this->name . "\n";
    }

    public function sayage()
    {
        echo $this->age . "\n";
    }
}

$aym = new person('aym', '20');
$tom = new person('tom', '18');
$aym->sayname();
$tom->sayname();

$tom = null;
echo '---分界---'."\n";

echo '程序执行完了' . "\n";
学习php面向对象知识小结(对象的创建,构建函数以及析构函数的使用)
在我们的代码都执行完成够,系统会帮我们调用对象的function __destroy()函数

当对象变量被赋值为null的时候,对象的析构函数会被自动调用,同一个类的其他对象不受影响