php基礎學習day7(介面和錯誤處理)

2021-08-09 04:29:52 字數 1835 閱讀 7870

inte***ce iusb

class phone implements iusb

public function end()

}

介面中的方法不可以寫出來方法體,跟抽象方法是一樣的。

當乙個類實現介面的時候,需要實現介面中所有的方法。

這麼看起來,介面似乎和抽象類沒有什麼區別,但是:

介面的基本語法:

inte***ce iusb
介面的概念並不是很難,我感覺難的應該是不知道什麼時候使用介面。

假設老師讓五個學生去寫乙個「學生資訊管理系統」,那麼老師如果定義乙個介面,讓學生去實現,那麼就可以控制學生實現某個方法的命名,引數之類的。

什麼情況下可以考慮使用介面:

1.定規範,讓其他程式設計師來實現的時候。

2.當有多個類的時候,類與類之間是平級的關係,這些類都會去實現某個功能,只是實現的方法是不同的是不同的,但是

const 常量名 = 初值;

因為常量是不能夠被修改的,因此必須立馬賦初值。

假設我們要開啟乙個並不存在的檔案,比如:

$fp = fopen("aa.txt","r");

echo "ok";

此時會出現:

如果我們想,如果這個檔案不存在的話我們要開啟另乙個檔案,此時有乙個判斷檔案是否存在的函式:

file_exist

比如:

if(!file_exists("aaa.txt"))else
根據上面的討論,我們一起學習php的錯誤處理方式:

die語句執行的功能也是退出,不過和exit()不同,在die()函式中,可以在退出之前輸出一些文字。比如:

<?php 

if(!file_exists("aaa.txt"))

/** 上面和下面的作用是一樣的

if(!file_exists("aaa.txt"))

*/?>

更簡單的寫法:↓

<?php 

file_exists("aaa.txt") or die("檔案不存在");

?>

在php中,錯誤有級別之分,可以去w3c中檢視。

我們可以寫乙個 錯誤函式,並且設定,當錯誤是warnning級別的時候,不要呼叫預設的錯誤函式,而是呼叫我們自己寫的錯誤函式。假設我們寫的錯誤函式為myerror()。set_error_handler("myerror",e_warning),後面跟的e_warning是乙個php常量,可以去w3c中去找。

錯誤觸發器:

在語法上不是錯誤的,但是程式設計師認為是錯誤的,這時候就可以用自定義錯誤觸發器來完成。

比如:程式設計師認為,薪水小於200000是錯誤的,年齡大於50是錯誤的。

呼叫系統預設的觸發器:

<?php 

$salary = 190000;

if($salary<200000)

?>

使用自定義的觸發器:

<?php 

function myerror($errorid,$errorstr)

set_error_handler("myerror",e_user_warning);

$salary = 190000;

if($salary<200000)

?>

這個我暫時先不學習了。。。。。

java學習(7) 介面

介面定義的是一種抽象的規範,介面裡不能包含構造器和初始化塊的定義。介面裡可以包含成員變數 只能是靜態常量 方法 抽象方法 類方法 或者預設方法 內部類。介面裡定義的方法只能是抽象方法 類方法 或者預設方法,定義介面裡的普通方法總是預設使用public abstract修飾,所以介面裡的普通方法不能有...

機器學習基礎DAY7

第七章 決策樹與隨機森林 決策樹思想的 非常樸素,程式設計中的條件分支結構就是if then結構,最早的決策樹就是利用這類結構分割資料的一種分類學習方法 1.資訊增益 特徵a對訓練資料集d的資訊增益g d,a 定義為集合d的資訊熵h d 與特徵a給定條件下d的資訊條件熵h d a 之差,即公式為 注...

php介面分類 PHP 7介面,返回型別提示和s

我在php 7中使用返回型別提示遇到了問題。我的理解是,提示self意味著您打算讓實現類返回自身。因此,我在介面中使用了self來表明這一點,但是當我嘗試實際實現介面時,出現了相容性錯誤。以下是我遇到的問題的簡單演示 inte ce ifoo public function bar string b...