国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP面向對象類型約束用法分析

2024-05-05 00:09:32
字體:
來源:轉載
供稿:網友

本文實例講述了PHP面向對象類型約束。分享給大家供大家參考,具體如下:

什么是類型約束

就是要求某個變量只能使用(接受,存儲)某種指定的數據類型;php屬于”弱類型語言“,通常不支持類型約束;相應的,強類型語言,類型約束卻是其“基本特征”。

php中,只支持局部的部分類型約束

php中,只支持在函數(或方法)的形參上,設定類型的約束目標,形式如下:

function 方法名( [要求使用的類型] $p1, [要求使用的類型] $p2, ......){  //....}

說明:

  1. 定義一個函數(方法)時,一個形參,可以使用類型約束,也可以不使用;
  2. 如果使用了類型約束,則對應的該實參數據,就必須是要求的那種類型;
  3. 能夠使用的類型約束,只有以下幾種情況可用:

① 數組:array

② 對象:使用類的名稱,傳遞過來的實參,必須是該類的實例

③ 接口:使用接口的名稱,傳遞過來的實參,必須是實現了該接口的類的實例

<?php//演示類型約束interface USB{} //接口class A{}  //類class B implements USB{}  //實現了USB接口的類function f1($p1, array $p2, A $p3, USB $P4){  echo "<br />沒有約束的p1:" . $p1;  echo "<br />要求是數組的p2:" ;    print_r($p2);  echo "<br />要求是類A的對象:";    var_dump($p3);  echo "<br />要求是實現實現了USB接口的對象:";    var_dump($P4);}$obj1 = new A();$obj2 = new B();$arr = array();//演示各種形式的函數調用//f1(1.2, 1, $obj1, $obj2);//報錯,第二個參數不是數組類型,Argument 2 passed to f1() must be an array, integer give//f1(1, $arr, $obj1, $obj1);//報錯,第四個參數,Argument 4 passed to f1() must implement interface USB, instance of A givenf1(1.2, $arr, $obj1, $obj2);//沒問題?>

運行結果:

沒有約束的p1:1.2
要求是數組的p2:Array ( )
要求是類A的對象:
object(A)[1]
要求是實現實現了USB接口的對象:
object(B)[2]

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 漳州市| 内丘县| 洪雅县| 武定县| 新巴尔虎右旗| 西盟| 任丘市| 宜州市| 行唐县| 新乐市| 开远市| 和静县| 读书| 彭水| 交城县| 宜兰县| 江口县| 任丘市| 白城市| 全州县| 安国市| 辽阳县| 夏邑县| 嘉兴市| 兴山县| 于都县| 兴安县| 通榆县| 维西| 临夏市| 永登县| 叙永县| 台江县| 上犹县| 福泉市| 平谷区| 临海市| 伊川县| 蓬安县| 平乐县| 井冈山市|