抽象化: 特定のプログラムを通じて PHP の抽象クラスを理解する
もちろん、適切に設計されたシステムでは、アプリケーション コードがルート クラスで動作するように設計されている場合、各ルート クラスに便利なインターフェイスが必要です。 、ルートクラスから継承する任意のサブクラスでも動作します。
抽象メソッドは、サブクラスの一般的なメソッドと同様のプレースホルダーです (スペースを占有しますが、機能しません)。通常のメソッドとは異なります。コードが存在しない場合。クラス内にさらに多くの抽象メソッドが存在すると、そのクラスは抽象クラスになります。抽象クラスを継承してからサブクラスをインスタンス化する必要があります。すべての抽象メソッドをオーバーライドしない場合、サブクラスは通常のクラスになります。クラスに抽象メソッドが含まれている場合は、そのクラスを宣言する必要があります。は abstract であり、class キーワードの前に abstract を追加します。
抽象メソッドを宣言する構文は、一般的なメソッドの宣言とは異なります。主要部分は中括弧 {} で囲まれ、セミコロンで終わります。以下のプログラムファイルでは、getArea メソッドを含むクラス Shape を定義していますが、実際には getArea メソッドを抽象として宣言しているため、図形の領域を決定することはできません。 Shape オブジェクトですが、例 6.13 のように、それを継承したり、式で使用したりすることができます。この状況を説明するために、interface およびimplements キーワードを定義します。 PHP では、クラス定義を説明するために、抽象クラスの代わりにインターフェイスを使用したり、 myIterface を実装したりすることができます。コード
コードをコピー
コードは次のとおりです:/*注: 2 つのメソッドは以下を参照します:
1. 抽象クラス aaa{} (aaa には抽象メソッドのみがあり、一般的なメソッドはないことに注意してください)メソッド)class bbb extends aaa{} (bbb の aaa の抽象メソッドを上書き)
2. インターフェイス aaa{}
class bbbimplements aaa {} (bbb の aaa の抽象メソッドをオーバーライド)
*/
php
//抽象ルートクラス 抽象ルートクラス
抽象クラス Shape
{
abstract function getArea() //抽象メソッドを定義します
}
//抽象子クラス 抽象サブクラス
抽象クラス Polygon extends Shape //Polygon
{
抽象関数 getNumberOfSides();
}
//具象クラス エンティティクラス 三角形クラス
クラス Triangle extends Polygon
{
public $height;
public function getArea() //面積計算メソッドをオーバーライドします
{
return(($this->base * $this->height)/2);
}
public function getNumberOfSides () //エッジカウントメソッドをオーバーライドします
{
}
}
/ /concrete クラス エンティティ クラス 四角形
クラス Rectangle は Polygon を拡張します
{
public $width;
public function getArea()
{
return($this->width * $this->height); }
public function getNumberOfSides()
{
return(4);
}
}
//具象クラス エンティティクラス Circle
class Circle extends Shape
{
public $radius
{
return( pi() * $this->radius * $this->radius);
}
}
/ /concrete ルート クラスはカラー クラスを定義します
class Color
{
public $name
}
$myCollection = array (); // 図形のコレクションを作成して配列に入れます
$r = new Rectangle ;
$r->height = 7; $myCollection[] = $r;
//三角形を作成します
$t->base = 4; myCollection[] = $t;
//円を作成します
$c->radius = 3;
$myCollection[] = $c; c);
//色を作成します
$c = 新しい色
$myCollection[] = $c; $s)
{
if($s instanceof Shape) print("Area: ".$s->getArea() ."
n"); // $s が Shape クラスのインスタンスの場合
if($s インスタンスオブポリゴン) print("サイド: ".$s->getNumberOfSides()."
n ");
if($s インスタンスオブカラー) print("カラー:".$s ->name."
n");
print("
n")
実行結果:
面積: 4
面積: 10
サイド: 3
エリア: 28.274333882308
カラー: ブルー
上記では、具体的なプログラムを通じて、抽象的な側面も含めて PHP の抽象クラスを理解することができました。これが、PHP チュートリアルに興味のある友人にとって役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

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

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
