php面向对象中static静态属性与方法的内存位置分析
php面向对象中static静态属性与方法的内存位置分析
这篇文章主要介绍了php面向对象中static静态属性与方法的内存位置,通过内存位置实例分析了static静态属性的原理与使用技巧,需要的朋友可以参考下
本文实例分析了php面向对象中static静态属性与方法的内存位置。分享给大家供大家参考。具体如下:
static静态属性的内存位置——>类,而不是对象。下面做测试来证明一下
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
header("content-type:text/html;charset=utf-8"); class Human{ static public $name = "小妹"; public $height; public function tell(){ } } echo Human:$name; //不依赖于对象,就能直接访问。因为静态属性的内存位置是在类里,而不是对象。 $p1 = new Human(); $p2 = new Human(); print_r($p1); echo $p1::$name = "夫人"; //在$p1对象上改变静态属性的值,那$p2对象也会相应的改变。 echo $p2::$name; ?> |
输出结果可以看出:
1、echo Human:$name :类声明完毕,就存在static属性,并不依赖于对象。因此,静态属性只有一个(意思是在内存里,存放的位置并不是在对象里;如果在对象里,那实例化一个对象,就相应的有该静态的位置,如height属性);
2、print_r($p1):打印结果只有height属性,而没有name;
3、静态属性的值变化后,所有对象的该属性值都会受到影响。
对于方法,无论是静态的、还是普通的,都是存在于类内存空间中。证明也很简单,new一个对象,print_r(对象)即可。
希望本文所述对大家的php程序设计有所帮助。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an
