5-1、 编写程序,设计一个学生类Student和它的子类Undergraduate,要求如下: 学生类Student:

5-1、 编写程序,设计一个学生类Student和它的子类Undergraduate,要求如下:
学生类Student:

(1) 有name(姓名)和id(学号)属性;

(2) 一个构造方法,包含两个参数的,用于给name和id属性赋值;

(3) show()方法打印Student的属性信息。

本科生类Undergraduate:

(1) 增加一个degree(学位)属性;

(2) 一个构造方法,包含三个参数的,前两个参数用于给继承的name和id属性赋值,第三个参数给degree专业赋值;

(3) show()方法用于打印Undergraduate的属性信息。

测试类:

(1) 创建Student对象和Undergraduate对象,调用它们的show()。
在这里插入图片描述
class Student {

String name;

String id;

//public StudentEx1()

//{

//

//}

public Student(String name,String id)

{

this.name=name;

this.id=id;

}

public void show()

{

System.out.print(name+" "+id);

}

public void show2()

{

	show();

	System.out.println();

}

}

class Undergraduate extends Student

{ String name;

String id;

String degree;

public Undergraduate(String name,String id,String degree)

{  

	super(name,id);

// this.name=name;

// this.id=id;

	this.degree=degree;

}

public  void show1()

{   super.show();

	System.out.println(/*name+" "+id+*/" "+degree);

}

}

public class StudentEx1{

public static void main(String[] args){

Student u1=new Student("zhang","5005180001");

u1.show2();

Undergraduate p2= new Undergraduate("Li","5005181001","本科");



p2.show1();

}

}

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学生类Student可以包含以下属性: - 姓名 - 学号 - 年龄 - 性别 - 成绩 可以包含以下方法: - 构造函数:初始化姓名、学号、年龄、性别和成绩 - 获取姓名、学号、年龄、性别和成绩的方法 - 修改姓名、年龄、性别和成绩的方法 UndergraduateStudent子类,可以包含以下属性: - 专业 - 学院 - 辅修专业 可以包含以下方法: - 构造函数:初始化姓名、学号、年龄、性别、成绩、专业、学院和辅修专业 - 获取专业、学院和辅修专业的方法 - 修改专业、学院和辅修专业的方法 Undergraduate可以继承Student的方法和属性,也可以重写Student的方法。例如,可以重写获取成绩的方法,使其返回百分制成绩,而不是原来的分数。 ### 回答2: 学生类Student):一个学生类一个通用的代表学生的,它应该包括以下的属性(属性可以根据需要进行扩展): 姓名(name) 学号(studentId) 年级(grade) 性别(sex) 年龄(age) 考试成绩(score) 方法(也可以根据需要进行扩展): 学生注册(register) 查询成绩(checkScore) 递交作业(submitHomework) 查看作业(checkHomework) 学生帐号登录(login) 本科生(Undergraduate):一个本科生学生类一个子类,它应该包含学生类所有的属性和方法,除此之外,还应该有以下的属性和方法: 属性: 专业(major) 辅修专业(minor) 方法: 选择专业(chooseMajor) 选择辅修专业(chooseMinor) 申请奖学金(applyScholarship) 本科生继承了学生类的所有属性和方法,同时还提供了更多的本科生特有的属性和方法,比如选择专业和辅修专业等。当一个学生对象创建之后,如果它被确定是一个本科生,那么就可以将这个学生对象转换为本科生对象,来获得更多的功能。 ### 回答3: 在设计一个学生类student和它的子类undergraduate时,需要考虑到学生所拥有的属性和方法。学生的属性可以包括姓名、学号、性别、年龄、成绩等,而方法可以包括考试、交作业、参加活动等。 在设计student时,可以先定义它的基本属性和方法,例如: class Student: def __init__(self, name, id, gender, age): self.name = name self.id = id self.gender = gender self.age = age self.score = 0 def attend_exam(self): # 实现考试的方法 pass def submit_homework(self): # 实现交作业的方法 pass def join_activity(self): # 实现参加活动的方法 pass 其中__init__方法是初始化实例时需要调用的方法,name、id、gender、age为传入参数,score为默认值0,表示学生的成绩为0分。 接着定义undergraduate,它是student子类,在student的基础上,可以再添加一些undergraduate特有的属性和方法。例如: class Undergraduate(Student): def __init__(self, name, id, gender, age, major): super().__init__(name, id, gender, age) self.major = major def choose_course(self): # 实现选课的方法 pass def attend_internship(self): # 实现参加实习的方法 pass def attend_project(self): # 实现参加项目的方法 pass 上面的Undergraduate继承了Student,在__init__方法中,需要先调用super()函数继承父的属性,同时添加了major属性表示学生专业。另外,新增了学生选课、参加实习、参加项目等特有的方法。这样,Undergraduate具有了比Student更多的特性和功能。 综上,在设计学生类及其子类时,应该首先明确学生具有的基本属性和方法,然后结合子类的特性,进行进一步的扩展和实现。这样设计能够提高代码的复用性及可拓展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值