PHP 静态变量和静态方法

2024-09-05 19:32
文章标签 php 变量 静态 静态方法

本文主要是介绍PHP 静态变量和静态方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PHP静态变量
静态变量(也叫类变量)

静态的变量的基本用法
1.在类中定义静态变量形式:
[访问修饰符] static $变量名;
例;  //public static $nums=0;
2.如何访问静态变量
如果在类中访问  有两种方法    self::$静态变量名  ,  类名::$静态变量名
如果在类外访问: 有一种方法    类名::$静态变量名

例程:
提出一个问题:
说,有一群小孩在玩堆雪人,不时有新的小孩加入,
请问如何知道现在共有多少人在玩?请使用面向
对象的思想,编写程序解决

<?php
class Child
{public $name;//这里定义并初始化一个静态变量 $numspublic static $nums=0;public static $i=1;//构造函数function __construct($name){                      $this->name=$name;} //静态方法public  function join_game(){//self::$nums 使用静态变量//self::$nums+=1;  或Child::$nums+=1;echo Child::$i.".".$this->name."加入堆雪人游戏!<br>";Child::$i++;}
}
//创建三个小孩
$child1=new Child("李逵");
$child1->join_game();
$child2=new Child("张飞");
$child2->join_game();
$child3=new Child("唐僧");
$child3->join_game();
$child4=new Child("八戒");
$child4->join_game();
//看看有多少人参加了游戏
echo "<br/> 共有--".child::$nums."--个人参加了游戏!";
?>


静态方法(又叫类方法)
其形式如下:
[访问修饰符] static  function 方法名(){}
例;  //public static function enter_school($ifree){}
需求: 当我们操作静态变量的时候,我们可以考虑使用静态方法,比如统计所有学生交的学费

在我们编程中,我们往往使用静态方法去操作静态变量.

使用静态方法不需要创建对象,可以直接访问该静态方法

2.如何访问静态方法:
如果在类中访问  有两种方法    self::静态方法名  ,  类名::静态方法名
如果在类外访问: 有两种方法    类名::静态方法名  ,  对象名->类方法名
静态方法的特点
1.静态方法只能操作静态变量
2.静态方法不能操作非静态变量.
这里请注意 : 普通的成员方法,既可以操作非静态变量,也可以操作静态变量 */

<?php
class student
{public $name;//这里定义并初始化一个静态变量 $numspublic static $free=0;//public static $i=1;//构造函数function __construct($name,$ifree){                      $this->name=$name;echo "<br>";echo $this->name."入学了,要交学费:".$ifree."元<br>";} //静态方法,新生入学,上交学费public static function enter_school($ifree){self::$free+=$ifree;	}//获取学费public static function getfree(){return  self::$free;}	
}
//静态方法不需要像普通成员方法一样要创建对象才可调用,可在不创建对象的情况下调用静态方法
//student::enter_school(10000);
//创建学生对象
$student1=new student("小明",1000);
//通过对象名调用静态方法
$student1->enter_school(1000);
//通过类名来调用静态方法
//student::enter_school(1000);
$student2=new student("小东",200);
$student2->enter_school(2000);
$student3=new student("小亮",3000);
$student3->enter_school(3000);echo "共收取学费".$student3->getfree()."元!<br>";
//echo "共收取学费".student::getfree()."元!<br>";
?>

这篇关于PHP 静态变量和静态方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139862

相关文章

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Perl 特殊变量详解

《Perl特殊变量详解》Perl语言中包含了许多特殊变量,这些变量在Perl程序的执行过程中扮演着重要的角色,:本文主要介绍Perl特殊变量,需要的朋友可以参考下... perl 特殊变量Perl 语言中包含了许多特殊变量,这些变量在 Perl 程序的执行过程中扮演着重要的角色。特殊变量通常用于存储程序的