翻閱php手冊時候無意間發現了這個東西php5.4新增的trait關鍵字,很有意思的東西,類似於把函式和成員方法include進乙個類,有些地方寫公共的方法之模擬繼承靈活很多,定義方法類似class
trait hello
public function sayhello()
}trait world
}class myhelloworld
//如果沒有則執行 trait hello裡的同名方法
public function sayhello()
use hello, world;//同事引入多個triat
public function sayexclamationmark()
}$o = new myhelloworld();
$o->sayhello();
$o->sayworld();
$o->sayexclamationmark();
echo $o->id;
列印結果
constructmyhelloworld
helloworld!2
經過測試,use進來的triat裡的
1.方法會被所在類裡的同名方法覆蓋
2.成員變數如triat和類裡有重名則會報錯
對於單例的理解
在objective c中要實現乙個單例類,至少需要做以下四個步驟 1 為單例物件實現乙個靜態例項,並初始化,然後設定成nil,2 實現乙個例項構造方法檢查上面宣告的靜態例項是否為nil,如果是則新建並返回乙個本類的例項,3 重寫allocwithzone方法,用來保證其他人直接使用alloc和in...
對於單鏈表複製錯誤的反思
原來錯誤的 view plaincopy to clipboardprint?sllnode sllcopy sllnode const ptarget 拷貝單鏈表,若拷貝失敗或引數為空鍊錶,返回null,否則返回新鍊錶的首指標 函式並不破壞原鍊錶 return pcopy 由於才起步,經驗不足,導...
對於單鏈表複製錯誤的反思
原來錯誤的 view plaincopy to clipboardprint?sllnode sllcopy sllnode const ptarget 拷貝單鏈表,若拷貝失敗或引數為空鍊錶,返回null,否則返回新鍊錶的首指標 函式並不破壞原鍊錶 return pcopy 由於才起步,經驗不足,導...