|
@@ -20,12 +20,14 @@
|
|
|
创建一个宠物喂食体系,体验 **同一个方法调用,不同子类表现出不同的行为**。
|
|
创建一个宠物喂食体系,体验 **同一个方法调用,不同子类表现出不同的行为**。
|
|
|
|
|
|
|
|
**`Pet` 类**(父类):
|
|
**`Pet` 类**(父类):
|
|
|
|
|
+
|
|
|
- **普通方法**:`void eat()` —— 输出 `"宠物在吃饭..."`
|
|
- **普通方法**:`void eat()` —— 输出 `"宠物在吃饭..."`
|
|
|
|
|
|
|
|
**`Dog` 类**(继承 Pet):
|
|
**`Dog` 类**(继承 Pet):
|
|
|
- **重写** `eat()` —— 输出 `"小狗在啃骨头..."`
|
|
- **重写** `eat()` —— 输出 `"小狗在啃骨头..."`
|
|
|
|
|
|
|
|
**`Cat` 类**(继承 Pet):
|
|
**`Cat` 类**(继承 Pet):
|
|
|
|
|
+
|
|
|
- **重写** `eat()` —— 输出 `"小猫在吃鱼..."`
|
|
- **重写** `eat()` —— 输出 `"小猫在吃鱼..."`
|
|
|
|
|
|
|
|
**测试类 `PetTest` 要求**:
|
|
**测试类 `PetTest` 要求**:
|
|
@@ -69,12 +71,14 @@ public class PetTest {
|
|
|
**`交通工具` 体系**:
|
|
**`交通工具` 体系**:
|
|
|
|
|
|
|
|
**`Vehicle` 类**(父类):
|
|
**`Vehicle` 类**(父类):
|
|
|
|
|
+
|
|
|
- **成员变量**:`String name = "交通工具"`
|
|
- **成员变量**:`String name = "交通工具"`
|
|
|
- **普通方法**:`void run()` —— 输出 `"交通工具在行驶..."`
|
|
- **普通方法**:`void run()` —— 输出 `"交通工具在行驶..."`
|
|
|
- **普通方法**:`void stop()` —— 输出 `"交通工具刹车停止"`
|
|
- **普通方法**:`void stop()` —— 输出 `"交通工具刹车停止"`
|
|
|
- **静态方法**:`static void info()` —— 输出 `"Vehicle 静态方法"`
|
|
- **静态方法**:`static void info()` —— 输出 `"Vehicle 静态方法"`
|
|
|
|
|
|
|
|
**`Car` 类**(继承 Vehicle):
|
|
**`Car` 类**(继承 Vehicle):
|
|
|
|
|
+
|
|
|
- **成员变量**:`String name = "小汽车"`
|
|
- **成员变量**:`String name = "小汽车"`
|
|
|
- **重写** `run()` —— 输出 `"小汽车在高速行驶..."`
|
|
- **重写** `run()` —— 输出 `"小汽车在高速行驶..."`
|
|
|
- **特有方法**:`void openSunroof()` —— 输出 `"打开天窗~"`
|
|
- **特有方法**:`void openSunroof()` —— 输出 `"打开天窗~"`
|
|
@@ -84,6 +88,7 @@ public class PetTest {
|
|
|
编写 `VehicleTest` 类,创建一个 `Car` 对象,分别使用「父类引用指向子类对象」和「子类引用指向子类对象」两种方式,观察成员变量、成员方法、特有方法的访问差异。
|
|
编写 `VehicleTest` 类,创建一个 `Car` 对象,分别使用「父类引用指向子类对象」和「子类引用指向子类对象」两种方式,观察成员变量、成员方法、特有方法的访问差异。
|
|
|
|
|
|
|
|
**模板代码**:
|
|
**模板代码**:
|
|
|
|
|
+
|
|
|
```java
|
|
```java
|
|
|
public class VehicleTest {
|
|
public class VehicleTest {
|
|
|
public static void main(String[] args) {
|
|
public static void main(String[] args) {
|
|
@@ -280,13 +285,14 @@ feed(new Cat());
|
|
|
|
|
|
|
|
1. **创建员工数组**:创建一个 `Employee[]` 数组,包含至少 5 名员工(各类型混合)
|
|
1. **创建员工数组**:创建一个 `Employee[]` 数组,包含至少 5 名员工(各类型混合)
|
|
|
|
|
|
|
|
- | 类型 | id | 姓名 | 参数 |
|
|
|
|
|
- |------|----|------|------|
|
|
|
|
|
- | FullTimeEmployee | 1001 | 张三 | 基本工资 8000,绩效 2000 |
|
|
|
|
|
- | PartTimeEmployee | 2001 | 李四 | 时薪 50,工作 80 小时 |
|
|
|
|
|
- | Intern | 3001 | 王五 | 津贴 2000 |
|
|
|
|
|
- | FullTimeEmployee | 1002 | 赵六 | 基本工资 10000,绩效 3000 |
|
|
|
|
|
- | PartTimeEmployee | 2002 | 孙七 | 时薪 45,工作 60 小时 |
|
|
|
|
|
|
|
+ ```java
|
|
|
|
|
+ // 示例数据
|
|
|
|
|
+ Employee emp1 = new FullTimeEmployee(1001, "张三", 8000, 2000);
|
|
|
|
|
+ Employee emp2 = new PartTimeEmployee(2001, "李四", 50, 80);
|
|
|
|
|
+ Employee emp3 = new Intern(3001, "王五", 2000);
|
|
|
|
|
+ Employee emp4 = new FullTimeEmployee(1002, "赵六", 10000, 3000);
|
|
|
|
|
+ Employee emp5 = new PartTimeEmployee(2002, "孙七", 45, 60);
|
|
|
|
|
+ ```
|
|
|
|
|
|
|
|
2. **遍历数组输出基本信息**:调用每个元素的 `showInfo()` 方法
|
|
2. **遍历数组输出基本信息**:调用每个元素的 `showInfo()` 方法
|
|
|
|
|
|