クラス内の関数のパラメータをクラスの属性として指定できますか?

WBOY
リリース: 2016-06-13 11:57:50
オリジナル
1073 人が閲覧しました

クラス内の関数のパラメーターはクラスの属性として指定できますか?
に示すように、クラス内の usbUSB 関数のパラメーターの 1 つをパラメーターとして上記の USB インターフェイスにすることができるというコードを見ました。 PHP 関数について聞いたことはありませんが、このようにパラメータを使用する意味は何でしょうか?

-----解決策---------------------------- -
それが破壊された場合、理解できたとしても、それはあなたの理解に問題があることを意味するだけです
したがって、それは破壊ではなく理解の強化です
たとえば、USBクラスにはloadメソッドがあり、
function useUSB($usb) {
$usb->load();
}
このように定義し、$obj->useUSB('abcを呼び出します) ');
これは $usb->load () に含まれます。load メソッドが存在しないというエラーがあります
そのため、$usb->load の前に $usb がオブジェクトであるかどうかを確認する必要があります(); ロードメソッドがあるかどうか
型宣言を追加した後、このチェックはphpパーサーによって行われます
-----解決策---------- -----------

引用:
あなたはまだ私が話している問題を理解していません。 useUSB 関数の最初のパラメータ USB はインターフェイス クラス USB です。なぜ関数のパラメータがクラスになるのでしょうか。多くのチュートリアルでわかったことは、関数のパラメーターは変数として定義され、呼び出されるとすぐに出力されるということですが、このクラスでは何が起こっているのかについては言及されていません。それはまったく。 1 つの例から推測するだけで、信じられないほど感じられます。理解できないのはここです。


function use(USB $usb){}
$usb は USB クラスによってインスタンス化されたオブジェクト ポインタです
例: $usb1 = USB (); $usb2 = USB(); 使用($usb2);
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート