类和对象:静态属性、静态方法

在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。

静态属性

与普通的成员属性不同,静态属性属于类本身而不属于类的任何实例。静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们。

由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性,使用语法格式如下:

类名称::$静态属性名称

其中,符号”::”被称作范围解析操作符,它可以用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果想在同一类的成员方法中访问静态属性,可以通过在该静态属性的名称前加上操作符”self::”来实现。例子如下:

class DaBing{

    static $bing=0;      //定义静态属性 bing

    function addOne(){

        self::$bing++;       //调用同一类中的静态属性 bing

        echo"\$bing的值为:".self::$bing++;

    }

}

$obj=new DaBing();

$obj->addOne();

该程序使静态属性的值加1,执行结果为:1

静态方法

在PHP中将成员方法声明为静态,就称其为静态方法。由于静态方法不受任何具体对象的限制,所以不需要建立类实例就可以直接引用类中的方法。语法格式如下:

类名称::静态方法名称([参数1,参数2,……])

与调用静态属性相同,在类中使用操作符”self::”来表示调用同一类中的静态方法,例子如下:

class DaBing{

    static function addOne($number){  //定义静态方法 addOne()

        echo"\$number+1=";

        echo $number+1;

    }

    static function showResult($number){

        echo"\$number=".$number;

        echo"<br>";

        self::addOne($number);  //调用同一类中的静态方法 addOne()

    }

}

$number=100;

DaBing::showResult($number);

该程序执行的结果为:
$number=100
$number+1=101

时间: 2024-12-21 07:00:58

类和对象:静态属性、静态方法的相关文章

PHP面向对象基本概念 类与对象 静态属性 构造/析构方法

1.传统的面向过程和现代面向对象  传统面向过程:是指把将要完成的工作分为若干个步骤一步一步的完成  现代面向对象:是指将要完成的工作拆分为一个一个的对象的任务(功能)每个对象独自完成自己的任务 可以理解为: 一个大扫除 面向过程就是一个人干完大扫除 面向对象就是 一个人扫地 一个人拖地2.面向对象的基本概念  三大特性:封装 继承 多态  类与对象:          张三是一个对象,李四是一个对象 他们都隶属于人这个类         类:描述某一些具有共同特征的物体的概念        

typescript静态属性,静态方法,抽象类,多态

1 /* 2 1.vscode配置自动编译 3 4 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 5 6 7 2.第二步 任务 - 运行任务 监视tsconfig.json 8 9 10 2.typeScript中的数据类型 11 12 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 13 14 15 布尔类型(boolean

Objective-C语言介绍 、 Objc与C语言 、 面向对象编程 、 类和对象 、 属性和方法 、 属性和实例变量

Objective-C语言介绍 . Objc与C语言 . 面向对象编程 . 类和对象 . 属性和方法 . 属性和实例变量 1 第一个OC控制台程序 1.1 问题 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序.其运行于苹果公司的Mac操作系统下. 本案例要求使用集成开发工具Xcode编写OC的HelloWorld程序,在Xcode的控制台中, 1.2 方案 首先,启动集成开发工具Xcode. 然后,创建OC语言的工程. 最后,运行所创建的工

python 类和对象的属性

python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性,父类和子类的类属性都会被改变. 3. 子类继承父类的类属性可以通过类名+属性名使用,但是一旦发生赋值,就会新定义一个相同名字的子类自己的类属性. 4. 类的对象可以通过对象名+属性名使用类属性,但是一旦发生赋值,就会新定义一个相同名字的对象属性,而且不会被继承. eg: >>> class

类的自动加载,静态属性静态方法

类的自动加载 function 完成类的自动加载    param: $clas_name 是类的名称    说明: 当程序员使用到一个未定义的类时,就会自动的触发__autoLoad这个函数, 该函数是系统提供的 静态变量是属于所有对象,可以被所有对象共享 静态变量与静态方法 静态属性是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. l  定义静态属性 访问修饰符 static 静态属性名;    stati

php中静态属性静态方法的用法

static关键字用来修饰属性.方法,称这些属性.方法为静态属性.静态方法.static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”. 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用.static关键字可以用来修饰变量.方法.不需要经过实例化,就可以直接访问类中static的属性和static的方法.static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法.因

python面向对象之静态属性/静态方法/类方法/组合

#!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self.Name = name self.Addr = addr self.Type = type def details(self): print("学样的详细信息, 名称:%s 地址:%s 类型:%s" %(self.Name,self.Addr,self.Type) ) c1 = Campus("南

python中的类和对象,属性和方法

一.面向对象的概述面向对象是一种描述业务问题.设计业务实体和实体之间关系的方法二.类和对象1.类和对象得区别:类是对客观世界中事物得抽象,而对象是类实例化后的实体   例如:汽车模型就是一个类,制造出来的每辆汽车就是一个对象2.类的定义:   (1)python使用class关键字定义一个类,类名的首字母一般要大写:       例如: class Student: #定义了一个Student类   (2)类的主体由一系列的属性和方法组成       例如: class Fruit: #定义一个

PHP常见概念混淆(五)之PHP类常量、静态属性和属性的区别

最近在看手册的时候发现PHP有好些个坑,一不注意就会掉进去,边看边将这些容易混淆的内容记载下来. tips:看手册的时候最好中英文对照着看,因为英文手册上有好些个中文手册没有的东西(最新的PHP) PHP5.3 支持用一个变量调用类 PHP5.6 支持用一个表达式赋值 PHP类常量 和 PHP静态属性 PHP7.1 支持对 PHP类常量 增加访问控制 简介 PHP类常量:定义方式和常量一样 PHP属性:定义方式和变量一样 PHP静态属性:可PHP属性的定义一样,加了一个static PHP属性

第49天python学习静态属性 静态方法

#静态属性:就是数据属性#定义个房间类# class Room:# def __init__(self,name,owner,width,length,heigh):# self.name=name# self.owner=owner# self.length=length# self.width=width# self.heigh=heigh## r1=Room("房号1120","zhangshang",10,20,3)# print("%s住的%s房