#1. 抽象メソッドとは何ですか?
メソッド本体のないクラスで定義したメソッドは、抽象メソッドです。いわゆるメソッド本体なしとは、宣言時に中括弧やその中身はなく、宣言時にメソッド名の後に直接セミコロンを追加することを意味します。また、抽象メソッドを宣言する場合、メソッドにはキーワードも追加する必要があります。 . 「abstract」を変更します。 例:abstract function fun1(); abstract function fun2();
2. 抽象クラスとは何ですか?
クラス内に抽象メソッドであるメソッドが存在する限り、そのクラスは抽象クラスとして定義されます。また、抽象クラスは「abstract」キーワードを使用して変更する必要があります。抽象クラスには、抽象であるかどうかに関係なく、メソッドとメンバー属性が存在しますが、1 つのメソッドが抽象である限り、そのクラスは抽象クラスとして宣言され、「abstract」で装飾される必要があります。 関連する推奨事項: 「PHP チュートリアル 」
例:abstract class Demo { var $test; abstract function fun1(); abstract function fun2(); function fun3(){ ... } }
3. 抽象クラスの役割は何ですか?
上記の例では、抽象クラス「demo」が定義され、「abstract」で変更されており、このクラスには、メンバー属性「$test」と 2 つの抽象メソッド「fun1」が定義されています。 「fun2」を含む非抽象メソッド fun3() もあります。それでは、抽象クラスをどのように使用するのでしょうか?最も重要な点は、抽象クラスはインスタンス オブジェクトを生成できないため、直接使用できないということです。クラスが直接使用できないことはこれまで何度も述べましたが、クラスを通じてインスタンス化されたオブジェクトを使用します。<? abstract class Demo { var $test; abstract function fun1(); abstract function fun2(); function fun3() { ... } } $demo=new Demo(); //抽象类不能产生实例对象,所以这样做是错的,实例化对象交给子类 class Test extends Demo { function fun1() { ... } function fun2() { ... } } $test = new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法 ?>
4. 抽象クラスの特性:
抽象クラスはインスタンス化できず、継承のみが可能です。 抽象クラスは必ずしも抽象メソッドを持つ必要はありません。抽象メソッドを持つクラスは抽象クラスでなければなりません。 抽象メソッドの可視性をプライベートにすることはできません。 抽象メソッドはサブクラス内にあるため、書き直す必要があります。5. 抽象クラスを使用する必要があるのはどのような場合ですか?
メソッドはあるのですが、メソッド本体の書き方がわかりません このメソッドをサブクラスに含める必要がある場合、抽象メソッドにカプセル化され、クラスは抽象クラスになりますクラス。 特定のメソッドをコントロール サブクラスにカプセル化する必要がある場合は、抽象メソッドを使用できます。 継承のみが可能でインスタンス化できないクラスを制御する必要がある場合。6. インターフェース
クラス内のすべてのメソッドが抽象メソッドでメンバー属性を持たない場合、そのクラスはインターフェースと呼ばれます。interface Common{ abstract function work(); abstract function test($args); }インターフェイスの継承 (拡張):インターフェイスの継承インターフェイス インターフェイスのインターフェイス名は親インターフェイス名を拡張します注: クラスの継承は単一継承です (親クラスは 1 つだけです) ) ですが、インターフェイスの継承は多重継承であり、クラスによるインターフェイスの実装も多重実装です。 インターフェイス実装 (実装): クラスはインターフェイス クラスを実装しますクラス名はインターフェイス名 1、インターフェイス名 2、...クラスを継承してインターフェイスを実装します同時に:クラスは親クラスを継承し、同時にインターフェイスを実装します クラス クラス名は親クラス名を拡張します インターフェイス名を実装します
7. 抽象クラスの違いそして、interface
Interface は、インターフェイスに抽象メソッドのみが含まれ、メンバー属性が含まれない特別な抽象クラスです。クラスがインターフェイスを実装する場合、インターフェイス内のすべてのメソッドを完全に実装する必要があります。クラスが抽象クラスを継承 (拡張) する場合、使用する必要がある抽象メソッドを書き直すだけで済みます。抽象クラスは単一の継承のみを持つことができますが、インターフェイスには複数の継承があり、インターフェイスのクラスの実装にも複数の実装があります。以上がPHP抽象クラスの役割は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1 か月前ByDDD
Atomfallのクレーンコントロールキーカードを見つける場所
1 か月前ByDDD
Inzoi:学校と大学への応募方法
3週間前ByDDD

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック
Gmailメールのログイン入り口はどこですか?
7767
15


Java チュートリアル
1644
14


CakePHP チュートリアル
1399
52


Laravel チュートリアル
1293
25


PHP チュートリアル
1234
29

