文章出處

 1 <?php
 2 //子類中編寫和父類中完全一樣的函數,是對父類中的函數進行重寫
 3 class BaseClass{
 4     public function test() {
 5         echo "BaseClass::test called"."<br/>";
 6     }
 7     public function test1() {
 8         echo "BaseClass::test1 called"."<br/>";
 9     }
10 }
11 
12 class ChildClass extends BaseClass{
13     public function test() {
14         echo "ChildClass::test called"."<br/>";
15     }
16 }
17 $obj = new ChildClass();
18 $obj->test();

注意,這時,在 ChildClass 中的test中不能傳入參數,否則會出錯,因為父類中的test函數中沒有傳入參數

 

如果不希望父類中的test函數被子類函數重寫(可以調用,不能重寫),則父類test函數改為:

1 class BaseClass{
2     final public function test() {
3         echo "BaseClass::test called"."<br/>";
4     }
5 }

也就是在 public function test 前面加上 final ,同樣,如果不想 BaseClass 類被子類繼承,則在

 class BaseClass 前加上 final 即可

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()