目次
PHPオブジェクト指向の基礎(インターフェース、クラス)、PHP指向
ホームページ バックエンド開発 PHPチュートリアル PHP オブジェクト指向の基本 (インターフェイス、クラス)、php-志向_PHP チュートリアル

PHP オブジェクト指向の基本 (インターフェイス、クラス)、php-志向_PHP チュートリアル

Jul 12, 2016 am 08:52 AM
抽象クラス

PHPオブジェクト指向の基礎(インターフェース、クラス)、PHP指向

PHPオブジェクト指向の基礎知識を紹介します

1. インターフェースインターフェースの定義、クラス定義クラス、クラスはabstractとfinal修飾子をサポートし、abstractはabstractクラス、abstractクラスに変更されます

直接のインスタンス化はサポートされておらず、最終的に変更されたクラス/メソッドは継承/メソッドのオーバーライドできません。
2. インターフェイスの実装はimplementsを介して行われ、クラスの継承は拡張されます

リーリー

3. 静的変数と定数 (static、const)
a. 定数を宣言するときに変数名の前にドル修飾子 $ を追加する必要はありませんが、静的変数には必須です
b. どちらもクラスを通じてアクセスされます。静的変数メソッドは変数名の前に追加する必要があります。これは良いことです

リーリー

c. 定数を宣言する場合、アクセス許可修飾子はサポートされません。定数のデフォルトは public です。

リーリー

4. $this を介してクラス内の非静的/定数変数とメソッドにアクセスし、parent を介して親クラスにアクセスし、
self を介してクラス内の静的変数とメソッドにアクセスします。self は本質的にクラスを指し、からもアクセスできます。静的

リーリー


5. static と self の違いは、self は現在のクラスにも作用する解析コンテキストを参照し、static はそれを含むクラスの代わりに呼び出されるクラスを参照することです。典型的な例はシングルトンです。 リーリー
7. クラスでインターセプターを使用します。PHP インターセプターには、__get、__set、__inset、__unset、__call のみに焦点を当てます。 リーリー

8. クラスのコンストラクターとデストラクター: __construct、__destruct。コンストラクターはオブジェクトをインスタンス化するときに呼び出され、主にメンバー変数の初期化に使用されます。デストラクターはクラスが破棄されるときに呼び出され、主に仕上げ作業に使用されます。 リーリー

9. オブジェクトは clone によってコピーされます。clone キーワードは、新しいオブジェクトを生成するために参照によってコピーされます。

a.単純な型の代入

リーリー

b. オブジェクトのコピーが含まれます

リーリー

この結果は明らかに私たちが期待するものではありません。私たちが期待しているのは、ab が関係のない 2 つの独立したオブジェクトであるということです。

この問題を解決するには、クラス内で __clone を実装します。外部で clone を呼び出すと、内部でそのクラスの __clonef メソッドが呼び出されるため、 __clone をオーバーライドすることでクローンを制御できます。例

リーリー

__clone メソッドについて知っておく必要があります。このメソッドは、上記の例 b のように、元のオブジェクトではなく、複製されたオブジェクトに対して呼び出されます。

$b = clone $a; //実行処理: 基本コピーオブジェクト $a ---> $b は __clone() を実行します


http://www.bkjia.com/PHPjc/1126840.html

www.bkjia.com

tru​​e

技術記事 PHP オブジェクト指向の基礎 (インターフェイス、クラス)、PHP オブジェクト指向の基礎知識を紹介します。 1. インターフェイスの定義、インターフェイスの定義、クラス定義、クラスは抽象修飾子と最終修飾子をサポートし、抽象修飾...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golangには抽象クラスがありますか? golangには抽象クラスがありますか? Jan 06, 2023 pm 07:04 PM

Golang には抽象クラスがありません。 Golang はオブジェクト指向 (OOP) 言語ではありません。クラス、継承、抽象クラスの概念はありません。ただし、golang には構造体 (struct) とインターフェース (インターフェース) があり、これらを組み合わせることによって間接的に実装できます。構造体とインターフェイス オブジェクト言語の抽象クラス。

Java のデザイン パターンにおけるインターフェイスと抽象クラスの適用 Java のデザイン パターンにおけるインターフェイスと抽象クラスの適用 May 01, 2024 pm 06:33 PM

インターフェイスと抽象クラスは、分離と拡張性のためにデザイン パターンで使用されます。インターフェイスはメソッド シグネチャを定義し、抽象クラスは部分的な実装を提供し、サブクラスは未実装のメソッドを実装する必要があります。ストラテジ パターンでは、インターフェイスを使用してアルゴリズムを定義し、抽象クラスまたは具象クラスが実装を提供するため、アルゴリズムを動的に切り替えることができます。オブザーバー パターンでは、インターフェイスを使用してオブザーバーの動作を定義し、抽象クラスまたは具象クラスを使用して通知をサブスクライブおよびパブリッシュします。アダプター パターンでは、インターフェイスを使用して既存のクラスを適応させることができ、互換性のあるインターフェイスを実装できるため、元のコードとの対話が可能になります。

Golang の関数インターフェイスと抽象クラスの類似点と相違点についての詳細な説明 Golang の関数インターフェイスと抽象クラスの類似点と相違点についての詳細な説明 Apr 20, 2024 am 09:21 AM

関数型インターフェイスと抽象クラスはどちらもコードの再利用を可能にするために使用されますが、関数型インターフェイスは参照関数を使用し、抽象クラスは継承を使用するなど、さまざまな方法で実装されます。関数型インターフェイスはインスタンス化できませんが、抽象クラスはインスタンス化できます。関数型インターフェイスは宣言されたメソッドをすべて実装する必要がありますが、抽象クラスは一部のメソッドのみを実装できます。

Java でのインターフェイスと抽象クラスの内部クラス実装 Java でのインターフェイスと抽象クラスの内部クラス実装 Apr 30, 2024 pm 02:03 PM

Java では、インターフェイスおよび抽象クラス内で内部クラスを定義できるため、コードの再利用とモジュール化に柔軟性が提供されます。インターフェイスの内部クラスは特定の関数を実装できますが、抽象クラスの内部クラスは一般的な関数を定義でき、サブクラスは具体的な実装を提供します。

Java インターフェイスと抽象クラス: プログラミング天国への道 Java インターフェイスと抽象クラス: プログラミング天国への道 Mar 04, 2024 am 09:13 AM

インターフェイス: 実装のないコントラクト インターフェイスは、Java でメソッド シグネチャのセットを定義しますが、具体的な実装は提供しません。これは、インターフェイスを実装するクラスに、その指定されたメソッドを強制的に実装するコントラクトとして機能します。インターフェイス内のメソッドは抽象メソッドであり、メソッド本体はありません。コード例: publicinterfaceAnimal{voideat();voidsleep();} 抽象クラス: 部分的に実装されたブループリント 抽象クラスは、そのサブクラスによって継承できる部分的な実装を提供する親クラスです。インターフェイスとは異なり、抽象クラスには具体的な実装と抽象メソッドを含めることができます。抽象メソッドは、abstract キーワードを使用して宣言され、サブクラスによってオーバーライドされる必要があります。コード例: publicabstractcla

Java インターフェースと抽象クラス: それらの間の内部接続を明らかにする Java インターフェースと抽象クラス: それらの間の内部接続を明らかにする Mar 04, 2024 am 09:34 AM

インターフェイス インターフェイスは、Java の抽象メソッドと定数を定義します。インターフェイス内のメソッドは実装されていませんが、インターフェイスを実装するクラスによって提供されます。このインターフェイスは、実装クラスが指定されたメソッド実装を提供することを要求するコントラクトを定義します。インターフェイスを宣言します。 publicinterfaceExampleInterface{voiddoSomething();intgetSomething();} 抽象クラス 抽象クラスは、インスタンス化できないクラスです。これには、抽象メソッドと非抽象メソッドが混在しています。インターフェイスと同様に、抽象クラスの抽象メソッドはサブクラスによって実装されます。ただし、抽象クラスには、デフォルトの実装を提供する具象メソッドを含めることもできます。抽象クラスを宣言: publicabstractcl

PHP のインターフェイスと抽象クラスの違いは何ですか? PHP のインターフェイスと抽象クラスの違いは何ですか? Jun 04, 2024 am 09:17 AM

インターフェイスと抽象クラスは、拡張可能な PHP コードを作成するために使用されます。これらの間には次のような重要な違いがあります。インターフェイスは実装を通じて強制するのに対し、抽象クラスは継承を通じて強制します。インターフェイスには具象メソッドを含めることはできませんが、抽象クラスには含めることができます。クラスは複数のインターフェイスを実装できますが、継承できるのは 1 つの抽象クラスのみです。インターフェイスはインスタンス化できませんが、抽象クラスはインスタンス化できます。

抽象クラスとPHPのインターフェイスの違いは何ですか? 抽象クラスとPHPのインターフェイスの違いは何ですか? Apr 08, 2025 am 12:08 AM

抽象クラスとインターフェイスの主な違いは、抽象クラスにメソッドの実装を含めることができるのに対し、インターフェイスはメソッドの署名のみを定義できることです。 1。要約クラスは、デフォルトの実装と共有コードの提供に適した要約および具体的なメソッドを含めることができる要約キーワードを使用して定義されます。 2。インターフェイスは、行動規範と複数継承を定義するのに適したメソッドシグネチャのみを含むインターフェイスキーワードを使用して定義されます。

See all articles