PHP类和对象概念及用法

news/2024/9/23 9:58:29/

类和对象的关系

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

类的基本组成部分

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

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

类及其属性和方法的创建

定义类

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"><?phpheader("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

 


http://www.ppmy.cn/news/1461520.html

相关文章

VS清除不必要的

//.$|/*(*(?!/)|[^])**/

《探索信息技术中心一体化系统架构:提升企业数字化转型的效率与能力》

在当今数字化时代&#xff0c;信息技术中心&#xff08;IT Center&#xff09;扮演着至关重要的角色&#xff0c;它不仅是企业的技术支撑&#xff0c;更是推动数字化转型的引擎。为了更好地应对日益复杂的业务需求和技术挑战&#xff0c;许多企业开始探索一体化系统架构&#x…

51单片机:点亮一个LED灯

1.新建工程 选择AT89C52&#xff0c;在Atmel下显示的是See Microchip 并不需要添加启动文件到文件夹中。 添加main.c文件&#xff0c;c比cpp效率高&#xff0c;.asm汇编即更底层 程序编写好后 nop(); 该函数在这个头文件里面 #include <INTRINS.H> #include <R…

《Mybatis》系列文章目录

什么是 MyBatis&#xff1f; MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff…

分享如何通过定时任务调用lighthouse前端测试脚本+在持续集成测试中调用lighthouse前端测试脚本

最近写了个小工具来优化lighthouse在实际工作中的使用&#xff0c;具体实现了&#xff1a;通过定时任务调用前端测试脚本在持续集成测试中调用前端测试脚本。由于在公司中已经应用&#xff0c;所以就不能提供源码了&#xff0c;这里简单说一下实现思路&#xff0c;希望可以帮助…

Spring MVC(一)

1 Spring MVC概述 我们在之前学习Servlet的时候&#xff0c;认识了在WEB开发中MVC设计模式&#xff0c;其最为经典的设计就是&#xff0c;通过控制器&#xff08;Controller&#xff09;分离模型&#xff08;Model&#xff09;和视图&#xff08;View&#xff09;。在具体的WEB…

C#语言进阶

一、简单数据结构类 1. ArrayList ArrayList是一个 C# 为我们封装好的类&#xff0c;它的本质是一个 object 类型的数组。ArrayList类帮助我们实现了很多方法&#xff0c;比如数组的增删查改 1.1 声明 using System.Collections;ArrayList array new ArrayList(); 1.2 增…

绩效管理的工具和方法有哪些?

绩效管理是组织和个人为达成目标而共同参与的一个持续循环过程&#xff0c;其目的是持续提升个人、部门和组织的绩效。为实现这一目标&#xff0c;绩效管理采用了一系列工具和方法。 其中&#xff0c;平衡计分卡是一种战略管理系统&#xff0c;也是一种绩效管理的理论框架。它将…