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);

 练习及讲解

源码

<?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.mzph.cn/web/13050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GDPU 竞赛技能实践 天码行空 期末小测

1. 除法&#xff08;原题&#xff09; &#x1f468;‍&#x1f3eb; 实验二&#xff1a;1.简单枚举 输入正整数n&#xff0c;按从小到大的顺序输出所有形如abcde/fghij n的表达式&#xff0c;其中a&#xff5e;j恰好为数字0&#xff5e;9的一个排列&#xff08;可以有前导0&a…

复杂json解析(其中有一个key的value是json格式的字符串)

app上报的参数如下: {"clientId": "8517895440514039afcf6d3e5d7832ae","dua": "SNDOCKCJPH90_GA&VN900042418&BN0&VCXiaomi&MOM2012K11AC&RL1080_2239&CHIDunknown_unknown&LCID&RV&OSAndroid13&…

邦注科技 即热式节能模温机的原理及应用介绍

模温机是一种用于控制模具温度的设备&#xff0c;它在各种工业领域中发挥着重要作用&#xff0c;特别是在塑料加工行业中。以下是关于模温机的原理及应用的详细介绍&#xff1a; 原理 模温机的工作原理主要是通过加热和冷却功能&#xff0c;维持模具温度在一个恒定的范围内。…

Hadoop 3.4.0 项目实战

1环境基于 上一篇搭建 高可用分布式集群 2 官方提供MapReduce程序 #评估圆周率 cd /data/hadoop/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-3.4.0.jar pi 2 6 3 实例项目分析1 #预分析的文件如&#xff0c;如单词统计 # #上传文件到hdfs hdfs …

SOLIDWORKS 2024云服务新功能

一、简单的分享一下&#xff0c;在线观看&#xff0c;轻松标记 在达索系统SOLIDWORKS 2024云服务中&#xff0c;您只需在达索系统SOLIDWORKS中点击按钮&#xff0c;就可以将当前的设计分享给其他人&#xff0c;无论是客户、供应商还是团队内部成员。共享的用户只要打开浏览器里…

Python中的exec()函数,动态执行代码的利器

简介 在Python编程中&#xff0c;exec()函数是一个强大的工具&#xff0c;它允许你执行存储在字符串或对象中的Python代码。这种动态执行代码的能力为脚本编写、自动化测试、以及快速原型开发提供了极大的便利。 exec()函数的基本用法 exec()函数可以执行作为字符串输入的Py…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130&#xff0c;总分400&#xff0c;复试表现中规中矩&#xff08;初试分数查到才开始复习复试&#xff0c;希望大家汲取教训&#xff0c;初试考完就可以录取开始准备复试&#xff09;&#xff0c;交大初试比重很高&#xff0c;良心学校&#x…

LeetCode58.最后一个单词的长度

题目链接&#xff1a; 58. 最后一个单词的长度 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a;普通的模拟题&#xff0c;只要有基本的算法思想就可以掌握。 算法思路&#xff1a;要统计最后一个单词的长度&#xff0c;所以我们只要找到最后一个单词出现的起始和终…

ASP.NET在线毕业论文提交系统的设计与实现

摘 要 本设计就很好的解决了上面的问题&#xff0c;它不但能实现毕业生论文的在线提交&#xff1b;还能给教师一定的权限&#xff0c;以在线的方式对自己指导的学生的论文进行审核&#xff1b;并且管理员还可以方便的将每个学生的论文信息按统一的论文排版本格式导出成word文…

高并发-线程池面试

文章目录 高并发-线程池2024心得好的博客必会面试题为什么使用线程池线程池的实现原理线程池的拒绝策略阻塞队列已满&#xff0c;在提交任务会发生什么问题threadlocal原理和使用多线程配置 高并发-线程池2024 心得 面试都是围绕着三高展开&#xff0c;高并发&#xff0c;高可…

洗衣洗鞋店做小程序有什么优势?

互联网洗衣洗鞋小程序闪亮登场&#xff0c;想知道这款小程序有何魅力吗&#xff1f; 如今&#xff0c;众多商家纷纷推出预约上门洗鞋服务&#xff0c;&#x1f481;‍♀️并倾力打造洗鞋小程序&#xff0c;旨在拓展线上销售渠道。&#x1f31f;那么&#xff0c;这款洗鞋小程序究…

Oracle数据库的CURRENT SCN

数据库的CURRENT SCN是Oracle当前最大的SCN&#xff0c;可以通过多种方法获取该SCN&#xff1a; 1、直接从内存中获取。由于当前最大SCN存储在fixed sga中&#xff0c;因此可以通过Oracle debug工具DUMP kcsgscn结构体获取内存中的最大SCN。在下面的程序中&#xff0c;BA371为1…

网络配置的加密存储

随着数据泄露事件的增加&#xff0c;扰乱了公司的正常工作周期&#xff0c;企业遭受了损失。事实上&#xff0c;数据泄露可以通过存储加密来控制&#xff0c;存储加密是防止黑客对网络数据库造成严重破坏的最有效方法之一。在网络配置管理器中&#xff0c;存储加密可用于存储设…

SpringBoot解析MyBatis预编译SQL

pom.xml <profile><!-- 开发环境 --><id>dev</id><activation><!-- 默认激活 --><activeByDefault>true</activeByDefault></activation><properties><spring.profiles.active>dev</spring.profiles.ac…

Unity 模拟放大镜局部放大UI 效果实现

UI 放大实现 RectTransformUtility.ScreenPointToLocalPointInRectangle(rectScale, eventData.position, eventData.pressEventCamera, out localPos); 使用IPointerDownHandler 获取鼠标点击时的有效负载&#xff0c;并将鼠标坐标转成对应的UI 坐标&#xff0c;rectScale 为…

【Win】一键恢复IE11工具:让旧版浏览器在新系统中重生

微软在2020年8月的时候就已经公告IE11的生命周期终点&#xff0c;多次提醒将在2022年6月15日起不再支持IE 11&#xff0c;呼吁用户尽快转换到Chromium-based Microsoft Edge。微软也陆续终止旗下服务支持这个旧式浏览器。2021年3月&#xff0c;Chrome浏览器已不支持旧IE App。2…

字符串解析-KMP魔改

题目 已知存在一种字符串解析语法&#xff0c;其中的语法元素如下 N:用于匹配单个数字(0-9) A:用于匹配单个字母(a-z,A-Z) n():用于表示一个分组&#xff0c;分组中至少有一个N语法元素或者A语法元素&#xff0c;n为一个数值&#xff0c;表示匹配n次&#xff0c;1<n< 20…

欢迎光临Java中的客“栈”

就目前而言&#xff0c;相信大家对数组、链表还有栈都基本已经有了一些了解&#xff0c;本篇文章将以栈为主体&#xff0c;探究栈和数组&#xff0c;栈和链表之间的一些联系。 当然在开始对栈的学习之前&#xff0c;我们先回顾有关数组、链表的基础知识点。 学习代码就是一个…

四川景源畅信:如何更好的为抖音小店做引流?

在数字化营销的浪潮中&#xff0c;抖音小店作为新兴的电商形态&#xff0c;正以其独特的社交属性和流量优势吸引着众多商家的目光。如何为抖音小店引流&#xff0c;成为许多店主心中的疑问。本文将深入探讨有效提升店铺流量的策略&#xff0c;助你在抖音平台上快速崛起。 一、内…

代码随想录算法训练营第二十五天:树的最后学习

代码随想录算法训练营第二十五天&#xff1a;树的最后学习 如果不对递归有深刻的理解&#xff0c;本题有点难 单纯移除一个节点那还不够&#xff0c;要修剪&#xff01; #669. 修剪二叉搜索树 力扣题目链接(opens new window) 给定一个二叉搜索树&#xff0c;同时给定最小边界…