ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでオブジェクト指向プログラミングを使用して大規模な PHP プロジェクトを開発する方法 2

PHP_PHP チュートリアルでオブジェクト指向プログラミングを使用して大規模な PHP プロジェクトを開発する方法 2

Jul 13, 2016 pm 05:28 PM
a php 著者 大きい 物体 開発する 方法 目的 プログラミング のために

著者: Luis Argerich 翻訳者: limodou
「Another」クラスのオブジェクトには、親クラス (Something) のすべてのデータ メンバーとメソッドが含まれており、独自のデータ メンバーとメソッドも追加されています。
を使用できます
$obj2=new Something;
$obj2->setY(7);
PHP は多重継承をサポートしていません。 2 つ以上のクラスが新しいクラスを派生します。
派生クラスでメソッドを再定義できます。「Another」クラスで getX メソッドを再定義すると、
「Something」で getX メソッドを使用できなくなります。派生クラスで基本クラスと同じ名前のデータ メンバーを宣言した場合、それを処理するときに
基本クラスのデータ メンバーが「隠蔽」されます。
クラス内にコンストラクターを定義できます。コンストラクターはクラス名と同じ名前のメソッドで、クラスのオブジェクトを作成するときに呼び出されます。例:
-------------------- --- --------------------------------------------------- --- --------
class Something {
var $x;
function Something($y) { $this->x=$y
}
function setX($v ) {
$this->x=$v;
}
function getX() {
return $this->x }
}
?>-------------- --- --------------------------------------------------- --- ------------
つまり、次のようにオブジェクトを作成できます:
$obj=new Something(6);



function Something($x="3",$y="5") 次に:
コンストラクターは自動的にデータに 6 を割り当てます。変数x。コンストラクターとメソッドは通常の PHP 関数であるため、デフォルトのパラメーターを使用できます。
$obj=new Something() // x=3 および y=5
$obj=new Something( 8); / / x=8 および y=5
$obj=new Something(8,9) // x=8 および y=9
デフォルトのパラメータは C++ を使用するため、値を無視することはできませんY を指定し、X にデフォルトのパラメータを指定すると、パラメータは左から右に割り当てられます。渡されたパラメータが必要なパラメータよりも小さい場合は、デフォルトのパラメータが使用されます。
派生クラスのオブジェクトが作成されるとき、そのコンストラクターのみが呼び出され、親クラスのコンストラクターは呼び出されません。基本クラスのコンストラクターを呼び出したい場合は、そのコンストラクターの中で明示的に呼び出す必要があります。派生クラス。これが可能なのは、すべての親クラスのメソッドが派生クラスで使用できるためです。
----------------------------------------------- - -----------------------------
function Another() {
$this->y=5 ;
$this->Something();
//基本クラスのコンストラクターの呼び出しを表示します }
?>-------------------------- - ------------------------------------------------- - --
OOP の優れたメカニズムは、抽象クラスを使用することです。抽象クラスはインスタンス化できず、派生クラスへのインターフェイスのみを提供できます。設計者は多くの場合、抽象クラスを使用してプログラマに基本クラスからの派生を強制し、新しいクラスに必要な機能が確実に含まれるようにします。 PHP には標準メソッドはありませんが、:
この機能が必要な場合は、基本クラスを定義し、そのコンストラクターの後に「die」呼び出しを追加して、基本クラスがインスタンス化できないようにすることができます。ステートメントは各メソッド (インターフェイス) の後にあるため、プログラマが派生クラスのメソッドをオーバーライドしないと、エラーが発生します。また、PHP は型指定されていないため、オブジェクトが基底クラスからの派生クラスであることを確認し、クラスの ID を定義する (ある種の識別 ID を返す) メソッドを基底クラスに追加する必要がある場合があります。オブジェクトパラメータを受け取るときにこの値を確認してください。もちろん、邪悪なプログラマーが派生クラスでこのメソッドをオーバーライドした場合、このメソッドは機能しませんが、一般に問題は邪悪なプログラマーではなく怠惰なプログラマーに見られます。
もちろん、基本クラスをプログラマに見えないようにして、インターフェイスを出力するだけで仕事を実行できるのは素晴らしいことです。
PHP にはデストラクターがありません。




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

www.bkjia.com

http://www.bkjia.com/PHPjc/531818.html技術記事著者: Luis Argerich 翻訳者: limodou Another クラスのオブジェクトには、親クラス (Something) のすべてのデータ メンバーとメソッドが含まれており、独自のデータ メンバーとメソッドも追加されています。 あなたは...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

母音を文字列にカウントするPHPプログラム

トップ10仮想通貨取引アプリプラットフォーム2025トップ10仮想通貨取引アプリプラットフォーム最新リスト トップ10仮想通貨取引アプリプラットフォーム2025トップ10仮想通貨取引アプリプラットフォーム最新リスト Mar 06, 2025 pm 04:21 PM

トップ10仮想通貨取引アプリプラットフォーム2025トップ10仮想通貨取引アプリプラットフォーム最新リスト

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

PHPでHTML/XMLを解析および処理するにはどうすればよいですか?

コーディングの鍵: 初心者のための Python の力を解き放つ コーディングの鍵: 初心者のための Python の力を解き放つ Oct 11, 2024 pm 12:17 PM

コーディングの鍵: 初心者のための Python の力を解き放つ

Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Oct 11, 2024 pm 08:58 PM

Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする

Java をシンプルに: プログラミング能力を高める初心者向けガイド Java をシンプルに: プログラミング能力を高める初心者向けガイド Oct 11, 2024 pm 06:30 PM

Java をシンプルに: プログラミング能力を高める初心者向けガイド

See all articles