Educoder -Java面向物件 - 封裝、繼承和多型各關卡題目總結
阿新 • • 發佈:2020-09-18
第1關:什麼是封裝,如何使用封裝
1、程式設計要求:
根據提示,在右側編輯器Begin-End
處補充程式碼:
-
宣告一個
Person
類,私有化屬性name
和age
,並將欄位封裝起來; -
在
Person
類中定義一個talk()
方法,列印姓名和年齡資訊; -
在
main
方法中宣告並例項化一Person
物件p
,給p
中的屬性賦值,呼叫talk()
方法列印我是:張三,今年:18歲
。
2、測試效果:
測試輸入: 無
預期輸出: 我是:張三,今年:18歲
3、程式設計思路:
(1)看到私有化屬性的封裝,就要想到private關鍵字。
(2)按照要求定義talk()方法
(3)由於要給Person類中的私有變數賦值,則需要在Person類中新增對應的get、set方法,最後建立物件後呼叫talk方法進行列印
4、參考答案:
package case1; public class TestPersonDemo { public static void main(String[] args) { /********* begin *********/ // 宣告並例項化一Person物件p Person p = new Person(); // 給p中的屬性賦值 p.setName("張三"); p.setAge(18); // 呼叫Person類中的talk()方法 p.talk(); /********* end *********/ } } // 在這裡定義Person類 class Person { /********* begin *********/ private String name; private int age; public String getName() { return name; } public void setName(String name) {this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } void talk() { System.out.println("我是:" + name + ",今年:" + age + "歲"); } /********* end *********/ }
第2關:什麼是繼承,怎樣使用繼承
1、程式設計要求:
根據提示,在右側編輯器Begin-End
處補充程式碼:
-
宣告一個
Animal
類,將屬性name
和age
封裝起來,提供對外的公共訪問方法; -
宣告一個
Cat
類和Dog
類,都繼承Animal
類,分別定義各自的voice
方法和eat
方法; -
在
main
方法中分別例項化一個Cat
物件和Dog
物件,設定各自的屬性並呼叫這兩個方法,再打印出名字和年齡資訊; -
具體具體輸出要求請看測試說明。
2、測試效果:
測試輸入:無
預期輸出:
大花貓喵喵叫
大花貓吃魚
大花貓6歲
大黑狗汪汪叫
大黑狗吃骨頭
大黑狗8歲
3、程式設計思路:
(1)