34 PHP-Klassen

Jul 30, 2016 pm 01:29 PM
function parent php protected public

1. Definition

<code>class 类名
{
    <span>...</span>
}</code>
Nach dem Login kopieren

2. Klasse laden

<code><span>require</span><span>'./People.class.php'</span>;</code>
Nach dem Login kopieren

Klasse automatisch laden
Um eine Klasse zu verwenden, ist es mühsam, jedes Mal die Klassendefinition einzuschließen. Ab PHP5 ist eine __autoload()-Funktion definiert, um das automatische Laden von Klassen zu implementieren. PHP ruft diese Funktion automatisch auf, wenn eine undefinierte Klasse verwendet wird.

<code><span><span>function</span><span>__autoload</span><span>(<span>$classname</span>)</span>
{</span><span>require_once</span><span>'./'</span> . <span>$classname</span> . <span>'.php'</span>;
}</code>
Nach dem Login kopieren

4. Klassenmethoden

<code>[ <span>static</span> | <span>final</span> ] 访问控制修饰符 <span><span>function</span> 方法名<span>(参数)</span>
{</span>
    ...
}
关键字 <span>static</span><span>final</span> 为可选项,
访问控制修饰符为<span>public</span>,<span>protected</span>,<span>private</span>中的一个。如果不指定,默认为<span>public</span>。
<span>static</span>关键字修饰的类方法为静态方法。在静态方法中,只能调用静态变量,不能调用普遍变量。
在普通方法中,可以调用静态变量。
在类的内部调用静态方法:<span>self</span>::静态方法。
在类的内部调用父类的静态方法:<span>parent</span>::静态方法。
如果在外部调用静态方法,则不用实例化,直接调用。
类名::静态方法</code>
Nach dem Login kopieren

5. Klassenattribute

<code>访问控制修饰符 [<span>static</span>] 属性名称;
访问控制修饰符为<span>public</span>,<span>protected</span>,<span>private</span>中的一个。默认为<span>public</span>。

如果要在类的方法中,访问属性:<span>$this</span>->属性名;

在类的内部访问静态属性:<span>self</span>::静态属性。
访问父类的静态属性:<span>parent</span>::静态属性。
注意,这里的静态属性名是要加 $ 美元符号的。
<span>self</span>::<span>$dollars</span> = <span>$dollars</span>;

在类外访问静态属性:  类名::属性名;  前提为可以访问,也是有 $ 符号。</code>
Nach dem Login kopieren

6 >

<code>const <span>MALE</span> = <span>'男'</span>;    <span>//</span>常量名前面不加  <span>$ </span>。

类内访问:  <span>self:</span><span>:</span>常量名
          <span>parent:</span><span>:</span>常量名
不加 <span>$ </span> , <span>self:</span><span>:MALE</span>类外访问:  类名<span>:</span><span>:</span>常量名 ;   不加  <span>$ </span>。</code>
Nach dem Login kopieren

7. Konstruktoren und Destruktoren

<code><span>function</span> __construct()
{
    <span>...</span>  // 自动调用
}

<span>function</span> __destruct()
{
    <span>...</span>  //  无参
}</code>
Nach dem Login kopieren

8. Klassenvererbung

<code>class 子类名 extends 父类名
{
    <span>...</span>
}

如果子类中定义了构造方法,则子类在实例化时不会自动调用父类的构造方法。对于析构方法也是如此,
如果子类中定义了析构方法,则子类的实例在被销毁时不会自
动调用父类的析构方法。

显式调用父类的构造方法:
<span>function</span> __construct()
{
    <span>...</span>
    parent::__construct()
    {
        <span>...</span>
    }
    <span>...</span>
}

显式调用父类的析构方法:
<span>function</span> __destruct()
{
    <span>...</span>
    parent::__destruct()
    {
        <span>...</span>
    }
    <span>...</span>
}</code>
Nach dem Login kopieren

9 . Polymorphismus

Polymorphismus ist in statischen Polymorphismus und dynamischen Polymorphismus unterteilt

<code>静态多态:一个同名函数或者一个类中的同名方法,根据参数列表(类型以及个数)的不同来区别语义,
即所谓的函数重载。但PHP不支持函数重载。

动态多态:类的成员方法,能根据调用它的对象的类型的不同,自动做出适应性调整,
而且调整是发生在程序运行时的。PHP 中通过抽象类和接口
技术来实现动态多态性。</code>
Nach dem Login kopieren

Unterklasse überschreibt die übergeordnete Klasse: Solange in der Unterklasse eine Methode mit demselben Namen wie die übergeordnete Klasse definiert ist, kann sie überschrieben werden. Um auf die übergeordnete Klasse zuzugreifen, verwenden Sie die Methode parent::mit demselben Namen wie die übergeordnete Klasse.

Wenn die übergeordnete Klasse nicht möchte, dass ihre Methoden von der Unterklasse überschrieben werden, verwenden Sie final, um die Methoden der übergeordneten Klasse zu ändern.


10. Abstrakte Klassen und abstrakte Methoden

Eine abstrakte Klasse ist eine Klasse, die nicht instanziiert werden kann und nur von anderen Klassen als übergeordnete Klasse geerbt werden kann. Eine abstrakte Klasse muss eine abstrakte Methode enthalten.

Die sogenannte abstrakte Methode ist eine Methode ohne spezifische Implementierung und der entsprechende Funktionskörper ist leer. Die Details abstrakter Methoden können nur in Unterklassen implementiert werden, und Unterklassen müssen alle abstrakten Methoden in der abstrakten Klasse implementieren, die sie erben.

<code>abstract  class 抽象类名
{
    <span>...</span>
    abstract [public | protected ] <span>function</span> 抽象方法名(参数)
    {
        <span>...</span>
    }
}
其中,抽象方法的访问控制符只能为public,protected之一。如果抽象方法声明为public,则
子类中实现的方法也应声明为public;如果抽象方法声明为protected,
则子类中实现的方法既可以为protected,也可以声明为public。</code>
Nach dem Login kopieren

11. Schnittstelle

Ob es sich um eine universelle Klasse oder eine abstrakte Klasse handelt, sie kann nur eine einzelne Vererbung implementieren, dh eine Unterklasse kann nur eine übergeordnete Klasse erben . Tatsächlich unterstützt PHP nur die Einzelvererbung. Wenn Sie Mehrfachvererbung implementieren möchten, verwenden Sie dazu Schnittstellentechnologie.

Der Unterschied zwischen Schnittstellen und Klassen:

<code>可以认为接口也是一种类,只是这种类中可以定义常量,但不能定义属性变量;可以定义方法,
但方法必须为空。也就是说,接口中只能定义常量和尚
未实现的方法,且方法必须为<span>public</span>(可以省略,
因为类的方法默认就是<span>public</span>)。

<span><span>interface</span> 接口名
{</span><span>const</span> 常量名 = 值;
    <span><span>function</span> 方法名<span>(参数)</span>
    {</span>
        ...
    }
}

实现:

<span><span>class</span> 子类名 <span>implements</span> 接口名1,接口名2 ..
{</span>
    ...
}</code>
Nach dem Login kopieren
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und möglicherweise nicht Vervielfältigung ohne Genehmigung des Bloggers.

Das Obige hat die 34 PHP-Klassen vorgestellt, einschließlich verwandter Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles