PTA7-4 小明爱学习

7-4 小明爱学习
分数 15
作者 姚晓玲
单位 临沂大学
小明是个爱学习的,他自己学完了c、java,和python等课程,请写代码通过继承与封装完成这个过程。
1.定义学生类,有方法learn。
2.定义抽象类Course,包含属性courseName,抽象方法show
3.定义JavaCourse、PythonCourse,继承Course
4.定义Main类,完成工作

public class Main {

public static void main(String[] args) {
    Student xiaoming = new Student();
    xiaoming.learn(new JavaCourse("Java")); //学习Java课程
    xiaoming.learn(new PythonCourse("Python"));//学习Python课程
}

}

class Student{
public void learn(【】){
【】;
System.out.println("study study hard,day day up");
}
}
//抽象类
【】class Course{
private String courseName;
//定义抽象方法
public 【】 void show();

 public Course(String courseName) {
    this.courseName = courseName;
}

 public String getCourseName() {
    return courseName;
}
public void setCourseName(String courseName) {
    this.courseName = courseName;
}

}
//Java课程继承Course
class JavaCourse 【】{
//构造方法
public JavaCourse(String courseName) {
【】
}
//重写show方法

}
class PythonCourse 【】{
//构造方法

public PythonCourse(String courseName) {
【】
}
//重写show方法

}

输入格式:
输出格式:
输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:

this is Java course,far far
study study hard,day day up
this is Python course,very clear
study study hard,day day up

根据题目提示,补充即可。

补充如下:

参考链接:



public class Main {

    public static void main(String[] args) {
        Student xiaoming = new Student();
        xiaoming.learn(new JavaCourse("Java")); // 学习Java课程
        xiaoming.learn(new PythonCourse("Python"));// 学习Python课程
    }
}

class Student {
    public void learn(Course course) {// learn方法需要传入课程类对象来进行学习
        course.show();  // 调用Course类对象course的show方法来输出课程信息
        System.out.println("study study hard,day day up");
    }
}

//抽象类
abstract class Course {  // 因为是抽象类,所以需要在class前加 abstract关键字,表示是抽象类
    private String courseName;

    // https://blog.csdn.net/m0_53328194/article/details/117199276
//定义抽象方法  // 定义抽象方法,所以需要加 abstract关键字,表示是抽象方法
    public abstract void show();

    public Course(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }
}

//Java课程继承Course ,继承Course 使用关键字 extends ,然后加上类 Course
class JavaCourse extends Course {
//构造方法
    public JavaCourse(String courseName) {
        super(courseName); // 调用父类有参的构造器,使用参数来给成员变量courseName赋值

    }

    // 重写show方法 ,show方法根据题目的输出格式来编写打印语句即可
    @Override
    public void show() {
        // TODO Auto-generated method stub
        System.out.println("this is " + this.getCourseName()+" course,far far");

    }
}

class PythonCourse extends Course { // 同上, 继承Course 使用关键字 extends ,然后加上类 Course
//构造方法

    public PythonCourse(String courseName) {
        super(courseName); // 调用父类有参的构造器,使用参数来给成员变量courseName赋值
    }

//重写show方法 ,同上,根据题目的输出格式来编写打印语句即可
    @Override
    public void show() {
        // TODO Auto-generated method stub
        System.out.println("thisi is "+this.getCourseName()+" course,very clear");
    }
}

img