類與繼承.習題
?
1、基本概念題:
?
1.在本章圖所示的類樹中,Sub11能繼承父類Sub1的哪些部分?Sub11能否繼承Super的成員變量和方法?
?
2.子類對父類方法的繼承有幾種形式?各有什么用途?
?
3.方法的重寫和方法的覆蓋有什么不同?
?
4.什么叫對象的動態(tài)綁定?對象的動態(tài)綁定和繼承相結(jié)合怎樣實現(xiàn)方法的多態(tài)性?
?
5.方法的多態(tài)性在程序設(shè)計中有什么用途?
?
6.super引用的語法格式是什么?怎樣在子類的構(gòu)造方法中調(diào)用父類的構(gòu)造方法?
?
7.this引用的語法格式是什么?怎樣在類的方法中調(diào)用和參數(shù)同名的成員變量?
?
8.什么叫抽象類?抽象類有什么設(shè)計要求?
?
9.什么叫最終類?最終類有什么設(shè)計要求?
?
10.什么叫接口?接口和抽象類有什么相同之處和不同之處?
?
11.Java語言支持多繼承嗎?Java語言怎樣解決多繼承問題?
?
2、程序設(shè)計題:
?
12.下面的類中,哪些方法是覆蓋?哪些方法是重寫?
Class Car
{
?public Car() {}
?public CarM(int c) {}
}
Class SportsCar extends Car
{
?public SportsCar() {}
?public SportsCar(int s) {}
? public CarM(int c) {}
}
?
13.設(shè)計一個點類,它僅包含兩個屬性:橫坐標和縱坐標。通過繼承點類再設(shè)計一個圓類,它除了有一個圓心,還有半徑,還應(yīng)該能夠計算圓的周長和面積等。編寫一個測試程序來測試所設(shè)計的類能否實現(xiàn)預(yù)定的功能。
?
14.設(shè)計一個動物類,它包含一些動物的屬性,例如名稱、大小、重量等,動物可以跑或走。然后設(shè)計一個鳥類,除了動物的基本屬性外,它還有自己的羽毛、翅膀等,鳥除了跑或走外,它還可以飛翔。為了繼承動物類的特性,鳥類應(yīng)該繼承動物類。編寫一個測試程序來測試所設(shè)計的鳥類能否實現(xiàn)預(yù)定的功能。
?
15.先設(shè)計一個長方形類,再通過繼承長方形類設(shè)計一個正方形類,正方形類中通過重寫父類的方法得到一些新的功能。
?
16.先設(shè)計一個基本賬戶類,再通過繼承基本賬戶類設(shè)計一個儲蓄帳戶類,儲蓄帳戶類中增加一個靜態(tài)成員變量(年利率),并增加如下方法:
(1)計算月利息 - 存款金額*年利率/12
(2)更改利率(靜態(tài)方法)- 重新設(shè)置年利率
最后,編寫一個測試程序來測試所設(shè)計的儲蓄帳戶類能否實現(xiàn)預(yù)定的功能。
?
17.先設(shè)計一個基本賬戶類,再通過繼承基本賬戶類設(shè)計一個儲蓄帳戶類,儲蓄帳戶類中增加密碼、地址、最小余額和利率等成員變量,并增加一些銀行帳戶經(jīng)常用到的方法,要求:
(1)類中的方法具有輸入、輸出儲戶上述信息的功能。
(2)將賬號設(shè)計成不可更改,修改密碼時要提供原密碼。
?
18.在上一章的電視機的基礎(chǔ)上,設(shè)計一臺新型的純平和超薄彩色電視機,增加描述這些屬性的成員變量和控制這些成員變量的方法。編寫一個測試程序來測試所定義的新型電視機類能否實現(xiàn)預(yù)定的功能。
?
19.在上一章的汽車類的基礎(chǔ)上,設(shè)計一個跑車類,增加一些體現(xiàn)跑車特性的成員變量,例如,緊急制動裝置、自動巡航狀態(tài)、溫控裝置等,可以根據(jù)自己對跑車的了解來增加它的成員變量和方法。在方法中用輸出方法名稱的方式來表示這個方法被調(diào)用。最后,編寫一個測試程序來測試所設(shè)計的跑車類能否實現(xiàn)預(yù)定的功能。
?
?
?