ホームページ  >  記事  >  バックエンド開発  >  PHPクラスの使い方 サンプルコード解説_PHPチュートリアル

PHPクラスの使い方 サンプルコード解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:42:08971ブラウズ

PHP には、クラス、メソッド、属性、および単一継承 (拡張機能) のみがあります。 C++、Java、Delphi などのオブジェクト指向言語を使用してプログラムを開発することに慣れていないユーザーは、まずオブジェクト指向の概念に関する本を読むとよいと思います。たくさんの利益があります。
以下の例はトロリーカテゴリです。ご覧のとおり、class を使用すると、それがクラス カテゴリであることを示します。 add_item などのカテゴリ内の関数は、クラスのメソッドを表します。メソッドはクラスの実際の処理状況をカプセル化することができ、カプセル化されたメソッドに従ってクラス自体がいくつかのステップを実行できるようになります。

プログラム内の $this クラス変数も、$GLOBALS 変数や $php_errormsg 変数と同様、PHP の特別な変数です。 $this 変数は、クラス自体を表すためにクラス カテゴリ内でのみ使用されます。

コードをコピーします コードは次のとおりです:

// プログラム名: cart.inc
class Cart {
var $items; // このメソッドは追加します。 $num items カートに商品を追加します ($artnr 変数に追加します)
function add_item ($artnr, $num) {
$this->items[$artnr] += $num
}

// このメソッドカートのアイテム数から $ を減らします ($artnr 変数から減算)
function Remove_item ($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this-> items[$ artnr] -= $num;
return true;
}
}
?>



例と同様のメソッドを使用できます。下に。まず各クラスをインクルード ファイルとして保存し、それからそれを要求またはインクルードすることができます。変数 $cart を定義するときは、予約語 new を使用して、$cart が Cart クラスを使用することを示します。 -> 記号を使用して、クラス メソッドの実行を示します。


コードをコピーします

コードは次のとおりです:
require("cart.inc"); $cart = new Cart->add_item("10", 1);
?>



次に、登録されたトロリーを設計します。登録済みトロリーはトロリーから継承されるため、トロリーが持つメソッドと属性は登録済みトロリーでも使用でき、登録済みトロリーにはトロリーよりも追加の名前メソッド (属性と呼ぶ方が適切かもしれません) があります。

次の例からわかるように、サブクラス Named_Cart は extends を使用して親クラス Cart を継承します。 Named_Cart クラスには項目を追加したり項目を減らしたりするメソッドはありませんが、その遺伝的特性により、親クラスが持つすべてのものが備わっています。


コードをコピーします

コードは次のとおりです:
//プログラム名:named_cart.inc require("cart.inc"); class Named_Cart extends Cart {
var $ owner;
function set_owner ($name) {
$this->owner = $name;
}
?>



名前付き trolley クラスを使用するには、以下の例を参照してください。もちろん、これはあまり良い設計ではありません。各サブクラスは常にその親クラスを必要とするため、I/O の観点からサーバーに負担がかかります。実装中に、最も古い祖先クラスから最後の子孫クラスまで、一連のクラス全体を同じプログラム ファイルに配置できるため、将来の改訂も容易になります。



コードをコピーします

コードは次のとおりです:

require("named_cart.inc"); $ncart = new Named_Cart; // クラス変数を作成します $ncart-> ;set_owner ("Cyber​​Ridder "); // クラスの名前付き属性を設定しますecho $ncart->owner; // クラスの名前付き属性を表示します
$ncart->add_item ("10", 1); // 親クラスから継承したメソッドも利用可能
?>

したがって、PHP で extends 予約語を使用し、適切なシステム分析と完全な CRC カード設計 (詳細についてはオブジェクト指向の書籍を参照) を組み合わせると、PHP は強力なクラス機能を備えた CGI 言語になることができます。

PHP はスクリプト言語 (Script) であるため、ソフトウェア エンジニアリングにおけるコンポーネントのブラック ボックスは、現在の PHP バージョンでは表示されません。つまり、すべてのクラスが実際にその内容を隠しているわけではありません。ソフトウェア業界にとって、いわゆるソフトウェア IC を保護する方法はありません。オープン コミュニティの観点からは、ソース コードがあることは良いことです。何が正しいか、何が間違っているかについては判断が困難です。しかし、現在、PHP は依然として Molecule コミュニティの一部であり、将来的には Zend エンジンがクラスのカプセル化機能を実装できるようになるかもしれません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321065.html技術記事 PHP には、クラス、メソッド、属性、および単一継承 (拡張機能) のみがあります。 C++、Java、Delphi などのオブジェクト指向言語を使用してプログラムを開発することに慣れていないユーザーは、次のこともできます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。