📜  门|门CS 2008 |第 67 题(1)

📅  最后修改于: 2023-12-03 15:42:22.274000             🧑  作者: Mango

门|门CS 2008 | 第67题

该题是一道面向对象编程的综合题目,要求学生使用Java语言编写一段能完成指定需求的程序。

需求说明

要求编写一个Java程序,实现以下需求:

  1. 定义一个类Person,其包含属性nameage,以及一个方法introduce(),用于输出Person对象的姓名和年龄。
  2. 定义一个类Teacher,其继承Person类,增加一个属性subject,以及一个方法teach(),用于输出教师教授的学科。
  3. 定义一个类Student,其继承Person类,增加一个属性grade,以及一个方法study(),用于输出学生所在年级。
  4. main方法中,创建一个Teacher对象和一个Student对象,分别调用它们的introduce()teach()study()方法。
代码实现
public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void introduce() {
        System.out.println("姓名:" + this.name + "\n年龄:" + this.age);
    }
}

public class Teacher extends Person {
    private String subject;

    public Teacher(String name, int age, String subject) {
        super(name, age);
        this.subject = subject;
    }

    public void teach() {
        System.out.println("教授学科:" + this.subject);
    }
}

public class Student extends Person {
    private int grade;

    public Student(String name, int age, int grade) {
        super(name, age);
        this.grade = grade;
    }

    public void study() {
        System.out.println("所在年级:" + this.grade);
    }
}

public class Main {
    public static void main(String[] args) {
        Teacher t = new Teacher("张三", 30, "数学");
        t.introduce();
        t.teach();
        
        Student s = new Student("李四", 18, 1);
        s.introduce();
        s.study();
    }
}
总结

本题涉及到继承和多态等面向对象编程的基础知识,要求学生充分理解面向对象编程的概念和原则,并学会如何将面向对象编程思想应用于实际编程中。