課堂作業(介面與繼承)

2022-05-08 16:30:13 字數 1349 閱讀 9553

一、神奇的+號

1)源**:

1 public class fruit

2 7

8 public static void main(string args)

9

14 }

2)結果截圖:

3)結果分析:

注意倒數第二句,乙個字串和乙個物件「相加」,得到以下結果?

fruit類覆蓋了object類的tostring方法。在「+」運算中,當任何乙個物件與乙個string物件,連線時,會隱式地呼叫其tostring()方法,預設情況下,此方法返回「類名 @ + hashcode」。

為了返回有意義的資訊,子類可以重寫tostring()方法。

二、動手實驗:繼承條件下的構造方法呼叫

1)源**:

1

public

class

testinherits 89

}1011class

grandparent

1217

public

grandparent(string string)

1821}22

23class parent extends

grandparent

2431}32

33class child extends

parent

3439 }

2)結果截圖:

3)結果分析:

通過 super 呼叫基類構造方法,必須是子類構造方法中的第乙個語句。

4)為什麼子類的構造方法在執行之前,必須呼叫父類的構造方法?能不能反過來?為什麼不能反過來?

不能反過來。子類是通過父類繼承過來的,所以子類有父類的屬性和方法,如果不呼叫父類的構造方法,不能初始化父類中定義的屬性,即不能給父類的屬性分配記憶體空間 ,如果父類的屬性沒有分配記憶體空間,那麼子類訪問父類的屬性,就會報錯。 

三、動手動腦 在子類中,若要呼叫父類中被覆蓋的方法,可以使用super關鍵字?

1)源**:

1

public

class

fugaisuper 7}

89class

parent

1015}16

17class child extends

parent

1824 }

多型課堂作業

擴充套件程式 建立乙個三角形類 修改create object函式,使得程式支援三角形的建立 和求面積 列印等操作 include using namespace std class shape class public shape 派生類circle定義結束 class rectangle pub...

課堂作業1

2017 7222 我是王薏植 愛好是打遊戲 再就沒了.我的碼雲個人主頁是 目前 量有5000行了 我最喜歡吃肉!ouo 1 回想一下你初入大學時對計算機專業的暢想 當初是如何做出選擇計算機專業的決定的?因為喜歡打遊戲所以比較喜歡計算機。你認為過去兩年中接觸到的課程是否符合你對計算機專業的期待,為什...

C 課堂作業 2

給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址 結點...