1. 程式人生 > 實用技巧 >Educoder -Java面向物件 - 封裝、繼承和多型各關卡題目總結

Educoder -Java面向物件 - 封裝、繼承和多型各關卡題目總結

第1關:什麼是封裝,如何使用封裝

  1、程式設計要求:

  根據提示,在右側編輯器Begin-End處補充程式碼:

  • 宣告一個Person類,私有化屬性nameage,並將欄位封裝起來;

  • 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類,將屬性nameage封裝起來,提供對外的公共訪問方法;

  • 宣告一個Cat類和Dog類,都繼承Animal類,分別定義各自的voice方法和eat方法;

  • main方法中分別例項化一個Cat物件和Dog物件,設定各自的屬性並呼叫這兩個方法,再打印出名字和年齡資訊;

  • 具體具體輸出要求請看測試說明。

  

  2、測試效果:

    測試輸入:

    預期輸出:

    大花貓喵喵叫

    大花貓吃魚

    大花貓6歲

    大黑狗汪汪叫

    大黑狗吃骨頭

    大黑狗8歲

  

  3、程式設計思路:

    (1)