3-1 写出派生类构造方法(Java)

裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关Java代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。

函数接口定义:

提示:
观察类的定义和main方法中的测试代码,补全缺失的代码。

裁判测试程序样例:

注意:真正的测试程序中使用的数据可能与样例测试程序中不同,但仅按照样例中的格式调用相关方法(函数)。

class People{
	private String id;
	private String name;
	public People(String id, String name) {
		this.id = id;
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public String getName() {
		return name;
	}
}

class Student extends People{
	private String sid;
	private int score;
	public Student(String id, String name, String sid, int score) {
	
	/** 你提交的代码将被嵌在这里(替换此行) **/
	
	}
	public String toString(){
		return ("(Name:" + this.getName() 
				+ "; id:" + this.getId() 
				+ "; sid:" + this.sid
				+ "; score:" + this.score 
				+ ")");
	}

}
public class Main {
	public static void main(String[] args) {
		Student zs = new Student("370202X", "Zhang San", "1052102", 96);
		System.out.println(zs);
		
	}
}

输入样例:

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

(无)

输出样例:

(Name:Zhang San; id:370202X; sid:1052102; score:96)

通过代码:

super(id, name);
	this.sid = sid;
	this.score = score;

 

### 回答1: 在Java中,我们可以通过使用extends关键字来创建派生类。基类则是指派生类所继承的父类。因此,如果要根据派生类写出基类,我们需要先确定派生类的父类。 例如,如果我们有一个名为Dog的派生类,它继承了Animal类,那么Animal类就是Dog类的基类。因此,我们可以根据Dog类写出Animal类作为基类。 Animal类的代码可能如下所示: ``` public class Animal { private String name; private int age; public Animal(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void eat() { System.out.println("Animal is eating"); } public void sleep() { System.out.println("Animal is sleeping"); } } ``` 这个Animal类包含了一些属性和方法,例如name和age属性,以及eat()和sleep()方法。这些属性和方法可以被Dog类所继承和使用。 当我们创建Dog类时,可以使用extends关键字来指定它的父类为Animal类,例如: ``` public class Dog extends Animal { private String breed; public Dog(String name, int age, String breed) { super(name, age); this.breed = breed; } public String getBreed() { return breed; } public void setBreed(String breed) { this.breed = breed; } public void bark() { System.out.println("Dog is barking"); } } ``` 在这个Dog类中,我们可以看到它继承了Animal类,并且添加了一个新的属性breed和一个新的方法bark()。这些属性和方法可以在Dog类中使用,同时也可以使用Animal类中的属性和方法。 因此,根据派生类Dog写出的基类Animal就是上面所示的Animal类。 ### 回答2: 在Java中,我们可以使用继承的概念来创建一个基类和一个或多个派生类。基类是一种通用类,它包含一些普通的属性和方法,而派生类可以从基类中继承这些属性和方法,并增加或修改它们来创建自己的独特功能。因此,根据派生类写出基类是很常见的操作。 假设我们有一个派生类名为”Student”, 它继承自一个基类名为”Person”。 Person类可能包含一些通用属性和方法,如姓名、年龄、性别、身高等,而Student类则增加了学号和学校属性。因此,我们可以根据派生类Student来写出基类Person,在Java中的代码如下所示: ```java // 定义一个基类Person public class Person { // 成员变量 private String name; private int age; private char sex; private float height; // 构造函数 public Person(String name, int age, char sex, float height) { this.name = name; this.age = age; this.sex = sex; this.height = height; } // 成员方法 public void introduce() { System.out.printf("My name is %s, I'm %d years old, %c, %f m tall\n", name, age, sex, height); } } // 定义一个派生类Student public class Student extends Person { // 学号和学校属性 private int id; private String school; // 构造函数 public Student(String name, int age, char sex, float height, int id, String school) { // 调用基类的构造函数 super(name, age, sex, height); this.id = id; this.school = school; } // 成员方法 public void study() { System.out.printf("%s is studying at %s\n", super.name, school); } // 覆盖基类的成员方法 public void introduce() { super.introduce(); System.out.printf("My student ID is %d\n", id); } } ``` 在上述代码中,我们首先定义了一个基类Person,它包含了姓名、年龄、性别、身高四个成员变量和一个introduce()方法。接着,我们定义了一个派生类Student,它从基类Person中继承了四个成员变量和一个introduce()方法,并新增了两个成员变量id和school和一个study()方法。最后,我们在派生类中覆盖了基类的introduce()方法来增加对学号的输出。通过这种方式,我们可以根据派生类创建一个基类,方便其他人继续扩展我们的代码。 ### 回答3: 在Java中,派生类是指通过继承基类而创建出的新类。每个派生类都继承了基类的属性和方法,同时也可以在基类的基础上添加新的属性和方法。因此,我们可以根据派生类写出基类。具体的方法如下: 1. 创建派生类 首先,我们需要创建一个派生类。假设我们创建的是一个叫做“Student”的派生类: public class Student extends Person { // add new properties and methods } 2. 继承基类 在上面的代码中,我们使用了“extends”关键字来指定Student类继承自Person类。这意味着Student类继承了Person类中的所有属性和方法。 3. 创建基类 接下来,我们可以根据Student类写出Person类,作为它的基类。这样做的好处是,我们可以保证Person类中的属性和方法是与Student类相对应的。 public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } } 在上面的代码中,我们定义了一个叫做Person的类。它有两个私有属性,name和age,以及一些公共的方法。这些方法包括构造方法、获取和设置属性的方法等等。 4. 继承关系 通过上面的步骤,我们建立了一个继承关系,如下所示: Person | Student Student类继承自Person类,Person类就成为了Student类的基类。这个关系可以让我们在Student类中重用Person类的代码,同时还可以添加自己的属性和方法。 总之,根据派生类写出基类的过程中需要遵循继承关系的要求,保证基类的属性和方法派生类相对应,这样可以有效提高代码的复用性和可维护性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值