ホームページ バックエンド開発 PHPチュートリアル PHP の抽象クラスと抽象メソッドが何であるかを理解する必要があります

PHP の抽象クラスと抽象メソッドが何であるかを理解する必要があります

Oct 26, 2021 pm 03:52 PM
php 抽象クラス インターフェース

前回の記事では、PHPインターフェースの宣言と応用問題について詳しく紹介した「5分で分かるPHPのインターフェース宣言と応用(詳細例)」をご紹介しましたが、この記事では、PHP の抽象クラスと抽象メソッドについて説明します。皆さんのお役に立てれば幸いです。

PHP の抽象クラスと抽象メソッドが何であるかを理解する必要があります

前回の記事では、インターフェイスを紹介し、インターフェイスは特別な抽象クラスとして理解できると述べました。抽象クラスとは何かを知る まず、抽象メソッドとは何かについて説明する必要があります。抽象クラスと抽象メソッドの出現は、主にクラスの継承を容易にするためです。次に、抽象メソッドと抽象クラスが何であるかを見てみましょう。

抽象メソッドとは

以前の研究では、クラスは複数のサブクラスを持つことができ、抽象メソッドを定義しました。クラスの継承を容易にするため。メソッド本体のないクラスで定義されたメソッドは、抽象メソッドです。では、メソッド本体とは何でしょうか?メソッド本体は、クラスの宣言時に中括弧と中括弧内の内容を参照します。メソッド本体がないということは、そのような内容がないことを意味します。代わりに、メソッド ステートメントの後に直接配置され、セミコロンで終わります。宣言中。これを抽象メソッドと呼びます。

抽象メソッドを宣言するときは、キーワード「abstract」を使用して変更する必要があることに注意してください。

abstract 访问权限修饰符 function 方法名1(参数列表);
abstract 访问权限修饰符 function 方法名2(参数列表);
ログイン後にコピー

抽象メソッドを理解するのは比較的簡単ですが、次に、抽象クラスとは何かを見てみましょう。

#抽象クラスとは

#上記の説明で、抽象メソッドが何であるかはすでにわかりました。抽象クラスは実際には非常に理解しやすいです クラス内のメソッドが抽象メソッドである場合、そのクラスを抽象クラスとして定義します。同時に、抽象クラスも "

abstract" キーワードを使用して変更する必要があります。抽象クラスでは、抽象メソッドではないメンバー属性が存在する可能性がありますが、メソッドが抽象メソッドになると、このクラスは抽象クラスです。

抽象クラスのすべてのメンバ メソッドが抽象メソッドであるわけではないことに注意してください。抽象メソッドではないメンバ メソッドおよび属性アクセス許可は、

private にすることはできません。メソッドについても同様です。抽象クラス内で使用され、サブクラスによって継承される必要があります。

例を挙げてみましょう:


abstract class demo{
var $test;
abstract function fun1();
abstract function fun2();
}
ログイン後にコピー

抽象クラスの特徴

  • 抽象クラス両方の抽象メソッドを abstract で変更する必要があります。

  • 抽象メソッドは抽象クラス内に存在する必要があり、抽象クラス内に抽象メソッドを含めることはできません。

  • 抽象クラスはオブジェクトを直接作成 (インスタンス化) できません;

  • 抽象クラスのサブクラスがすべての抽象メソッドをオーバーライドする場合、それは具象クラスになりますが、抽象クラスのサブクラスはオーバーライドします。すべての抽象メソッドをオーバーライドしない場合、サブクラスは依然として抽象クラスです;

抽象クラスには実装できない抽象メソッドが含まれています。つまり、抽象クラスをインスタンス化できません。オブジェクトを作成できないため、それを直接使用することはできません。では、直接使用することはできないので、抽象クラスを使用することでどのような問題を解決できるでしょうか?


次に、例を通して見てみましょう。抽象クラスを定義し、別のクラスを使用してこの抽象クラスを継承し、抽象クラスに抽象メソッドを実装します。

例は次のとおりです:

<?php
    abstract class father{
        public $study = &#39;好好学习<br>&#39;;
        public $study1 = &#39;天天向上<br>&#39;;
        abstract function title();
        abstract function output();
    }
    class Demo extends father{
        public function title(){
            echo &#39;福如东海,寿比南山。&#39;;
        }
        public function output(){
            echo $this -> study.$this -> study1;
        }
    }
    $obj = new Demo();
    $obj -> output();
    $obj -> title();
?>
ログイン後にコピー
出力結果:


PHP の抽象クラスと抽象メソッドが何であるかを理解する必要があります

上記の例から、次の定義を実装します。抽象クラスを作成し、別のクラスを使用してこの抽象クラスを継承し、抽象クラスに抽象メソッドを実装します。

前回の記事ではPHPインターフェースの関連知識について述べましたが、インターフェースは特別な抽象クラスとして理解できると書かれていましたが、特殊なのでPHPインターフェースとPHPインターフェースの違いは何でしょうか?抽象クラス?類似点についてはどうですか?以下を見てみましょう。まず、PHP インターフェイスについて紹介している「

5 分でわかる PHP のインターフェイス宣言とアプリケーション (詳細な例)」を読むことをお勧めします。

PHP インターフェイスと抽象クラスの違い

  • 抽象クラスは属性、通常メソッド、抽象メソッドを持つことができますが、インターフェイスは属性を持つことができません, 通常のメソッド メソッドには定数を含めることができます。

  • 抽象クラスには抽象メソッドは存在しない可能性がありますが、インターフェイスには「抽象」メソッドが存在する必要があります。

  • 抽象クラスは、abstract キーワードを使用してクラスの前に宣言され、クラスはクラスとして宣言されます。インターフェイスは、interface で宣言されますが、インターフェイスは次のとおりであるため、class で宣言することはできません。クラスではありません。

  • 抽象クラスは extends キーワードを使用して、サブクラスが親クラスを継承し、サブクラスに詳細な抽象メソッドを実装できるようにします。このインターフェイスは、通常のクラスがクラス内のインターフェイスの詳細なメソッドを実装できるようにするために、実装を使用します。また、インターフェイスは、カンマを使用して各インターフェイスを区切るだけで、一度に複数のメソッドを実装できます。

PHP インターフェイスと抽象クラスの類似点

  • はすべて、特定のものの宣言、名前とパラメータの標準化、およびモジュールの形成に使用されます。詳細な実装の詳細はありません。

  • 関連する詳細はすべてクラスを通じて実装されます。

  • 構文的には、抽象クラスの抽象メソッドはインターフェイスと同じであり、メソッド本体、つまり {} シンボルを持つことはできません。

  • インターフェイスはインターフェイスを継承して新しいインターフェイスを形成し、抽象クラスは抽象クラスを継承して新しい抽象クラスを形成できます。

ご興味がございましたら、「PHP ビデオ チュートリアル 」をクリックして、PHP の知識をさらにご覧ください。

以上がPHP の抽象クラスと抽象メソッドが何であるかを理解する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

See all articles