< ?php class ShopProduct{ function getSummaryLine() { echo 'i am father\'s getSummaryLine function '."\n"; } } class Cdproduct extends ShopProduct{ function getSummaryLine() { echo 'i am son\'s getSummaryLine function'."\n"; } } $product1 = new ShopProduct(); $product2 = new Cdproduct(); $product1->getSummaryLine(); echo "-------------\n"; $product2->getSummaryLine();?>
クラスの基本定義と概念 (拡張 2)
継承について
1. 継承とは、基底クラスから 1 つ以上の派生クラスを取得する仕組みです
2. 他のクラスから継承するクラスは、通常、そのクラスのサブクラスと呼ばれます。親子関係は、子クラスが親クラスの特殊効果を継承することを示します。これらの機能は、属性とメソッドで構成されます。(親クラスはスーパークラス、基本クラスとも呼ばれ、サブクラスは親クラスの拡張とも呼ばれます)
3. 派生クラスは親クラスの機能を拡張および変更できます
< ?php class ShopProduct{ function getSummaryLine() { echo 'i am father\'s getSummaryLine function '."\n"; } } class Cdproduct extends ShopProduct{ function getSummaryLine() { echo 'i am son\'s getSummaryLine function'."\n"; } } $product1 = new ShopProduct(); $product2 = new Cdproduct(); $product1->getSummaryLine(); echo "-------------\n"; $product2->getSummaryLine();?>
ログイン後にコピー
出力結果: < ?php class ShopProduct{ function getSummaryLine() { echo 'i am father\'s getSummaryLine function '."\n"; } } class Cdproduct extends ShopProduct{ function getSummaryLine() { echo 'i am son\'s getSummaryLine function'."\n"; } } $product1 = new ShopProduct(); $product2 = new Cdproduct(); $product1->getSummaryLine(); echo "-------------\n"; $product2->getSummaryLine();?>
i am father's getSummaryLine function -------------i am son's getSummaryLine function //变了
5. サブクラスでコンストラクターを定義する場合、親クラスのコンストラクターにパラメーターを渡す必要があります。そうしないと、不完全なオブジェクトが得られる可能性があります。
parent::__construct() を使用する必要があります。
結果が表示されません。はい
< ?php class ShopProduct{ public $title; function __construct($title) { //父类的构造方法,这里看到需要传入一个参数$title //————第四步 $this->title = $title; echo 'i am father\'s construct and title is'.$title."\n"; } function getSummaryLine() { echo 'i am father\'s getSummaryLine function '."\n"; } } class Cdproduct extends ShopProduct{ public $sonTitle; function __construct($title,$sonTitle) { //子类的构造方法,这里添加一个新的参数$sonTitle //————第二步 parent::__construct($title); //这里就是调用父类的构造方法,因为父类的构造方法是只有一个参数$title,所以只需要传入一个 //————第三步 $this->sonTitle = $sonTitle; //这个就是子类自己的构造方法想增加的一个属性 //上面这几行加起来的意思就是子类需要父类的构造方法,并且在父类的构造方法的基础(获得了父类的$title)上增加一个子类自己的属性($sonTitle) echo 'i am son\'s construct and title is'.sonTitle."\n"; } function getSummaryLine() { echo 'i am son\'s getSummaryLine function'."\n"; } } $product1 = new ShopProduct('TTTTitle'); echo "-------------\n"; $product2 = new Cdproduct('TTTitle2222','dasdsada'); //————第一步(如果单单看Cdproduct这个子类的实例化的过程的话,就是四步) echo "-------------\n"; $product1->getSummaryLine(); echo "-------------\n"; $product2->getSummaryLine();?>
各サブクラスは、独自のプロパティを設定する前に、親クラスのコンストラクターを呼び出します。親クラスはそれ自体のデータを知る必要があるだけです。子クラスについては親クラスに何も伝えないようにするのが経験則です。 (実際、オブジェクト指向開発では、「特定のタスクに焦点を当て、外部コンテキストを無視する」)
6. public、private、protected - 可視性キーワードを使用すると、顧客が必要とするクラスの部分のみを公開できます。オブジェクト設定 明確なインターフェイス。
public はすべてオープンになり、private は現在のクラスに対してのみ呼び出すことができ、protected は現在のクラスとサブクラスに対して呼び出すことができます。セキュリティ レベルは public < protected < です (アクセシビリティを厳密に制御する傾向があります)
6.1 アクセス方法
セキュリティ上の理由からアクセシビリティは厳しく制限されているので、それを行う方法があります
i am father's construct and title isTTTTitle-------------i am father's construct and title isTTTitle2222i am son's construct and title issonTitle-------------i am father's getSummaryLine function -------------i am son's getSummaryLine function

ホット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ライブラリを使用して投稿を送信することです。
