设计类的属性
设计类
设计学生类student、本科生类undergraduate和研究生类postgraduate,要求如下:
- student类有num(学号)和name(姓名)属性、一个构造方法(name、num)和一个disp()方法,输出student的学号和姓名信息。
- 本科生类undergraduate比学生类多一个degree(学位)属性,输出本科生的学号、姓名、学位信息。
- 研究生类postgraduate比学生类多一个research(研究方向)属性,输出研究生的学号、姓名、研究方向信息。
基本思路
1.类的设计
设计基类student,属性num,name,构造
子类undergraduate,继承,新增degree,重写
子类postgraduate,继承,新增research,重写
2.测试
创建对象,调用disp方法
代码
package B;
// 学生基类
class Student {String num;String name;public Student(String num, String name) {this.num = num;this.name = name;}public void disp() {System.out.println("学号:" + num + ",姓名:" + name);}
}// 本科生类,继承自Student类
class Undergraduate extends Student {String degree;public Undergraduate(String num, String name, String degree) {super(num, name);this.degree = degree;}@Overridepublic void disp() {System.out.println("学号:" + num + ",姓名:" + name + ",学位:" + degree);}
}// 研究生类,继承自Student类
class Postgraduate extends Student {String research;public Postgraduate(String num, String name, String research) {super(num, name);this.research = research;}@Overridepublic void disp() {System.out.println("学号:" + num + ",姓名:" + name + ",研究方向:" + research);}
}// 测试类
class StudentTest {public static void main(String[] args) {// 创建本科生对象并调用disp方法Undergraduate undergraduate = new Undergraduate("2023001", "张三", "工学学士");undergraduate.disp();// 创建研究生对象并调用disp方法Postgraduate postgraduate = new Postgraduate("2023002", "李四", "人工智能");postgraduate.disp();}
}