定义一个Person类,它包括的属性有“姓名”和“性别”。 为Person类派生出一个子类Student类,为Student子类添加两个属性年龄和成绩等级(用A,B,C,D,E表示),在子类中打印出学

父类:
package per;

public class Person {
private String name;
private String sex;
public Person(String name,String sex) {
this.name=name;
this.sex=sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}

}

子类:
package per;

public class Student extends Person{
private int age;
private char cj;
public Student(int age,char cj,String name,String sex)
{
super(name,sex);
this.age = age;
this.cj = cj;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getCj() {
return cj;
}
public void setCj(char cj) {
this.cj = cj;
}

}

测试类:
package per;
import java.util.*;
public class PersonStudentTest {
public static void main(String[] args) {
String name,sex;
int age;
char cj;
Student stu;
Scanner sc=new Scanner(System.in);
System.out.print(“请输入学生姓名:”);
name=sc.next();
System.out.print(“请输入该生性别:”);
sex=sc.next();
System.out.print(“请输入该生年龄:”);
age=sc.nextInt();
System.out.print(“请输入该生成绩:”);
cj=sc.next().charAt(0);
stu=new Student(age,cj,name,sex);
System.out.println(stu.getName());
System.out.println(stu.getSex());
System.out.println(stu.getAge());
System.out.println(stu.getCj());

}

}

  • 11
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,下面是一个简单的示例: ``` class Person: def __init__(self, name, age): self.name = name self.age = age class Student(Person): def __init__(self, name, age, grade): super().__init__(name, age) self.grade = grade class Teacher(Person): def __init__(self, name, age, subject): super().__init__(name, age) self.subject = subject ``` 这里定义了一个 `Person` ,包含了 `name` 和 `age` 两个属性。然后通过继承,派生了 `Student` 和 `Teacher` 。`Student` 增加了一个 `grade` 属性表示学生的年级;`Teacher` 增加了一个 `subject` 属性表示教师所教授的学科。在子类的构造函数,使用 `super()` 函数调用父的构造函数,以便初始化父属性。 ### 回答2: Person是基,包含基本属性和方法,派生Student和Teacher继承Person,并且拥有一些自己特有的属性。设计如下: Person属性姓名性别年龄 方法:构造函数,设置姓名,获取姓名,设置性别,获取性别,设置年龄,获取年龄 Student属性:学号,所在班级 方法:构造函数,继承基构造函数,设置学号,获取学号,设置所在班级,获取所在班级 Teacher属性:工号,所教科目 方法:构造函数,继承基构造函数,设置工号,获取工号,设置所教科目,获取所教科目 Person的构造函数可以设置基本属性姓名性别年龄,同时也可以获取对应的属性值,以便其他在实例化时可以调用。 Student和Teacher的构造函数都应该继承Person的构造函数,并且在此基础上设置自己特有的属性。 例如,对于Student的构造函数: ``` class Student : public Person { private: string stuID; // 学号 string className; // 所在班级 public: Student(string name, string gender, int age, string id, string clsName):Person(name, gender, age) { stuID = id; className = clsName; } string getStuID() { return stuID; } string getClassName() { return className; } }; ``` 对于Teacher也是一样: ``` class Teacher : public Person { private: string teaID; // 工号 string subject; // 所教科目 public: Teacher(string name, string gender, int age, string id, string sbj):Person(name, gender, age) { teaID = id; subject = sbj; } string getTeaID() { return teaID; } string getSubject() { return subject; } }; ``` 这样设计,可以方便地获取每个对象的属性值、创建对象时设置对应属性值,在进行学生、教师等对象相关操作时,也方便找到对应的学生、教师进行处理。 ### 回答3: PersonPerson一个基本,可以包含个人的基本信息,如姓名年龄性别、身份证号等。 StudentStudent继承自Person,可以包含除了Person基本信息之外的学生信息,如学号、班级、平均成绩等。可以添加一些成员函数,如获取学生信息、计算成绩平均值等。 Teacher: Teacher继承自Person,可以包含除了Person基本信息之外的教师信息,如职称、所在学院、授课课程等。可以添加一些成员函数,如获取教师信息、授课、评分等操作。 为了实现上述需求,可以使用面向对象编程的方法,在C++可以采用如下的代码实现: ``` class Person { private: string name; int age; char gender; string id_card; public: void setName(string name); string getName(); void setAge(int age); int getAge(); void setGender(char gender); char getGender(); void setIdCard(string id_card); string getIdCard(); }; class Student : public Person { private: string std_no; string class_no; double avg_score; public: void setStdNo(string std_no); string getStdNo(); void setClassNo(string class_no); string getClassNo(); void setAvgScore(double avg_score); double getAvgScore(); void getInfo(); }; class Teacher : public Person { private: string title; string college; string course; public: void setTitle(string title); string getTitle(); void setCollege(string college); string getCollege(); void setCourse(string course); string getCourse(); void getInfo(); void teach(string course); void evaluate(string std_no, double score); }; ``` 在上述代码Person一个基本,包含个人基本信息的设置和获取函数。Student和Teacher都继承自Person,分别包含学生和教师的特有信息以及相应的操作函数。在子类,还可以根据需求添加其他函数。 通过以上设计,可以有效地实现对学生和教师的信息管理,并提供相应的操作功能,具有较好的可扩展性和可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值