PHP类和对象扩展[构造函数,析构函数]

构造函数

特性:实例化对象时调用

作用:通常用于 初始化属性值 或 执行启动时所需的操作

用法:

function __construct($parameter){

        $this->attribute = $parameter;

        echo '对象已创建并,初始化attribute属性值为parameter';

}

析构函数

特性:对象销毁,或脚本结束时调用

作用:通常用于清理资源如内存和链接,本篇实例用于弹窗提示

用法:

function __destruct(){

        echo "脚本已结束";

}

 

实例

创建scan类,添加三个成员变量。一个成员函数用于输出属性。一个构造函数用于初始化属性值。一个析构函数,函数内使用echo输出script标签,用于弹出弹框。

源码

<?php
    header("content-type:text/html;charset=utf8");
    class scan{
        var $target;
        var $address;
        var $DesPort;
        function task(){
            echo $this->target . '  参数:' .  $this->address . $this->DesPort;
        }
        //构造函数
        function __construct($target,$address,$DesPort='all'){
            $this->target = $target;
            $this->address = $address;
            $this->DesPort = $DesPort;
            echo '<p> 对象已实例化 </p><hr>';
        }
        //析构函数
        function __destruct(){
            echo "<script>alert('析构函数已触发,' + '函数调用已完成')</script>";
        }

    }
    //实例化对象,指定属性值
    $one = new scan('win10','192.168.10.1');
    //调用对象内方法
    $one->task(); //win10 参数:192.168.10.1all
    //输出对象属性值
    echo '<br>' . $one->target . '<br>'; //win10
    echo $one->address; //192.168.10.1
    echo '<br>' . $one->DesPort; //all
   

?>

1.创建scan类并添加成员变量及方法

class scan{
        var $target;
        var $address;
        var $DesPort;
        function task(){
            echo $this->target . '  参数:' .  $this->address . $this->DesPort;
        }

........

}

2.定义构造函数用于接收对象创建时传参,并赋值给对象本身的属性,为DesPort属性设置默认值。

function __construct($target,$address,$DesPort='all'){
            $this->target = $target;
            $this->address = $address;
            $this->DesPort = $DesPort;
            echo '<p> 对象已实例化 </p><hr>';
        }

3.定义析构函数,于代码或脚本结束后调用。函数内使用echo输出script标签中alert标签,并进行字符串的拼接,用于弹窗提示。

function __destruct(){
            echo "<script>alert('析构函数已触发,' + '函数调用已完成')</script>";
        }

4.实例化对象,并传入参数

$one = new scan('win10','192.168.10.1'); 

5.调用对象内方法

$one->task(); //win10 参数:192.168.10.1all    

6.输出对象属性值

echo '<br>' . $one->target . '<br>'; //win10    

echo $one->address; //192.168.10.1

echo '<br>' . $one->DesPort; //all

 

 

 

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 08:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 08:32:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 08:32:04       82 阅读
  4. Python语言-面向对象

    2024-05-13 08:32:04       91 阅读

热门阅读

  1. Spring 类加载器

    2024-05-13 08:32:04       20 阅读
  2. vue3+ts实现文件上传

    2024-05-13 08:32:04       23 阅读
  3. Gitee仓库创建与使用

    2024-05-13 08:32:04       37 阅读
  4. 速盾:jquery是用cdn快,还是保存本地快?

    2024-05-13 08:32:04       31 阅读
  5. Go 之 interface接口理解

    2024-05-13 08:32:04       33 阅读