PHP类和对象概念及用法

类和对象的关系

可以将类看成为一件模具,倒入不同的材料(属性和方法),这些材料用于构建独特的对象

类的基本组成部分

属性:类中的变量,用于储存数据

方法:类中的函数,用于操作和访问类的属性

类及其属性和方法的创建

定义类

class Class_name{

        定义成员变量

        var $variate_name;

 

        定义变量并指定默认值

        var $variate_name = value;

 

        定义成员函数

        function function_name(){

                code block;

        }

 

}

对象的创建及使用

对象是由类生成的具体实例,包含了类定义的属性及方法。

1.使用关键字new,通过类实例化对象

$object_name = new class_name();

 

2.属性的赋值:对象使用操作符,指定属性名进行赋值

$object_name -> attribute_name = value;

 

3.方法的调用:对象使用操作符。指定方法名进行调用

$object_name -> method_name(parameter);

 练习及讲解

源码

<?php
    header("content-type:text/html;charset=utf8");
    class scan {
        //成员变量
        var $target;
        var $strength = 'medium'; //默认扫描强度为medium

        //成员函数
        function task($name='匿名'){
                echo $name . "正在对目标" . $this->target . '进行扫描' . "扫描强度为" . $this->strength;
        }

    }
    //实例化对象
    $person1 = new scan();

    //输出对象详细信息
    var_dump($person1) ;
    /* 
        object(scan)#1 (2) { ["target"]=> NULL ["strength"]=> string(6) "medium" }
    */
    echo '<br>';

    //调用对象内task方法
    $person1->task();
    //匿名正在对目标进行扫描扫描强度为medium

    //创建第二个对象,并指定target属性
    $person2 = new scan();
    $person2->target = '192.168.1.1';
    echo '<br>';
    
    var_dump($person2);
    /* 
        object(scan)#2 (2) { ["target"]=> string(11) "192.168.1.1" ["strength"]=> string(6) "medium" }
    */
    
    //调用对象内task方法并传入实参
    $person2->task('you');
    //you正在对目标192.168.1.1进行扫描扫描强度为medium
  


?>

实例讲解

class scan {
        //成员变量
        var $target;
        var $strength = 'medium'; //默认扫描强度为medium

        //成员函数
        function task($name='匿名'){
                echo $name . "正在对目标" . $this->target . '进行扫描' . "扫描强度为" . $this->strength;
        }

    }

 

定义类名为scan的类,类中定义成员变量target和strength,添加属性strength默认值为medium。

创建成员函数task,定义传参参name,默认值为 匿名 。

方法内部使用echo语句输出,由$name,$target,$strength属性构造的字符串。

特殊变量$this,代表当前对象,可以通过$this调用当前对象的属性及方法。

实例化对象

通过new实例化对象person1

 

$person1 = new scan();

 

var_dump输出对象详细信息

 

var_dump($person1);

 

object(scan)#1 (2) { ["target"]=> NULL ["strength"]=> string(6) "medium" }

 

变量类型为对象,由scan类的实例,编号为1。对象有两个属性,target属性值为空,strength属性类型为字符串长度为6个字符,具体为medium。

调用对象内方法

$person1->task();

由于未指定成员变量属性值和方法参数,target属性默认为空,medium属性默认为medium,name默认为匿名。

输出内容:

匿名正在对目标进行扫描扫描强度为medium

创建新的对象,指定成员变量属性值,调用方法传入实参

创建对象person2

 

$person2 = new scan();

 

指定target属性值

 

$person2->target = '192.168.1.1';

 

输出对象详细信息

 

var_dump($person2)

 

object(scan)#2 (2) { ["target"]=> string(11) "192.168.1.1" ["strength"]=> string(6) "medium" }

 

调用方法并传入实参

 

$person2->task('you');

 

you正在对目标192.168.1.1进行扫描扫描强度为medium

 

  • 32
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值