PHP类的静态static方法和静态static变量
在php中,访问类的方法/变量有两种方法:
1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。
2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件:
A. 如果是变量,需要该变量可访问。
B. 如果是方法,除了该方法可访问外,还需要满足:
b1) 如果是静态方法,没有特殊条件;
b2) 如果是非静态方法,需要改方法中没有使用$this,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。
然后我们再看一下使用$object->… 和使用class::… 都有什么区别:
1. 使用$object->… ,需要执行构造函数创建对象;
2. 使用class::… 调用静态方法/变量,不需要执行构造函数创建对象;
3. 使用class::… 调用非静态方法/变量,也不需要执行构造函数创建对象。
然后奇怪的地方就出来了,既然2和3都一样,那静态方法/变量存在还有什么意义呢?
差异还是显然存在的,如下:
1. 静态变量
静态成员只保留一个变量值,而这个变量值对所有的实例都是有效,也就是说,所有的实例共享这个成员。
2. 静态方法
静态方法可以直接使用class::… 来调用,而非静态方法需要满足一定限制条件才能使用class::.. 的方法调用,如之前所述
以上就介绍了PHP类的静态static方法和静态static变量,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Konzepte und Instanzen von Klassen und Methoden Klasse (Klasse): wird verwendet, um eine Sammlung von Objekten mit denselben Eigenschaften und Methoden zu beschreiben. Es definiert die Eigenschaften und Methoden, die jedem Objekt in der Sammlung gemeinsam sind. Objekte sind Instanzen von Klassen. Methode: In der Klasse definierte Funktion. Klassenkonstruktionsmethode __init__(): Die Klasse verfügt über eine spezielle Methode (Konstruktionsmethode) namens init(), die automatisch aufgerufen wird, wenn die Klasse instanziiert wird. Instanzvariablen: In der Deklaration einer Klasse werden Attribute durch Variablen dargestellt. Solche Variablen werden Instanzvariablen genannt. Instanziierung: Erstellen Sie eine Instanz einer Klasse, ein bestimmtes Objekt der Klasse. Vererbung: Das heißt, eine abgeleitete Klasse (derivedclass) erbt die Basisklasse (baseclass).

Funktion bedeutet Funktion. Es handelt sich um einen wiederverwendbaren Codeblock mit bestimmten Funktionen. Er kann Eingabeparameter akzeptieren, bestimmte Operationen ausführen und Ergebnisse zurückgeben. Code, um die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern.

Klasse ist ein Schlüsselwort in Python, das zum Definieren einer Klasse verwendet wird: Fügen Sie nach der Klasse ein Leerzeichen hinzu und fügen Sie dann den Klassennamen hinzu. Wenn es mehrere Wörter gibt, verwenden Sie die Groß-/Kleinschreibung Benennung, wie zum Beispiel [class Dog()].

jQuery ist eine klassische JavaScript-Bibliothek, die in der Webentwicklung weit verbreitet ist. Sie vereinfacht Vorgänge wie die Verarbeitung von Ereignissen, die Bearbeitung von DOM-Elementen und die Durchführung von Animationen auf Webseiten. Bei der Verwendung von jQuery kommt es häufig vor, dass Sie den Klassennamen eines Elements ersetzen müssen. In diesem Artikel werden einige praktische Methoden und spezifische Codebeispiele vorgestellt. 1. Verwenden Sie die Methoden „removeClass()“ und „addClass()“. jQuery stellt die Methode „removeClass()“ zum Löschen bereit

Beim Schreiben von PHP-Code ist die Verwendung von Klassen eine weit verbreitete Praxis. Durch die Verwendung von Klassen können wir verwandte Funktionen und Daten in einer einzigen Einheit kapseln, wodurch der Code klarer, leichter lesbar und einfacher zu warten ist. In diesem Artikel wird die Verwendung von PHPClass ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, besser zu verstehen, wie Klassen zur Optimierung von Code in tatsächlichen Projekten angewendet werden. 1. Klassen erstellen und verwenden In PHP können Sie das Schlüsselwort class verwenden, um eine Klasse zu definieren und Eigenschaften und Methoden in der Klasse zu definieren.

Vue-Fehler: V-bind kann nicht verwendet werden, um Klasse und Stil korrekt zu binden. Wie kann das Problem gelöst werden? In der Vue-Entwicklung verwenden wir häufig die V-Bind-Anweisung, um Klasse und Stil dynamisch zu binden. Manchmal können jedoch Probleme auftreten, z. B. dass wir V-Bind nicht korrekt zum Binden von Klasse und Stil verwenden können. In diesem Artikel werde ich die Ursache dieses Problems erläutern und Ihnen eine Lösung anbieten. Lassen Sie uns zunächst die v-bind-Direktive verstehen. v-bind wird zum Binden von V verwendet

Hintergrund In letzter Zeit wurden wichtige Geschäftscodes für das Unternehmens-Framework verschlüsselt, um zu verhindern, dass der technische Code durch Dekompilierungstools wie jd-gui einfach wiederhergestellt werden kann. Die Konfiguration und Verwendung des zugehörigen Verschleierungsschemas ist relativ komplex und es gibt viele Probleme für Springboot-Projekt, also werden die Klassendateien verschlüsselt und dann wird der benutzerdefinierte Klassencoder entschlüsselt und geladen. Dies erhöht nur die Schwierigkeit der Dekompilierung. Es wird das allgemeine Flussdiagramm zum Verschlüsselungsschutz angezeigt In der Abbildung unten verschlüsselt das Maven-Plugin die Kompilierung mit einem benutzerdefinierten Maven-Plugin. Nach der Verschlüsselung der angegebenen Klassendatei wird die verschlüsselte Klassendatei in den angegebenen Pfad kopiert und hier in „resource/corecla“ gespeichert

In der objektorientierten Programmierung können wir durch Vererbung neue Klassen erstellen, die die Eigenschaften und Methoden einer vorhandenen Klasse erben. Dieses leistungsstarke Konzept ermöglicht die Wiederverwendung von Code, Modularität und Erweiterbarkeit in unseren Programmen. Bevor wir uns mit dem Zugriff auf übergeordnete Klassenattribute befassen, gehen wir vor
