4.定义并实现一个Person类,包含姓名(name)与编号(code)等两个属性,通过构造函数为属性赋值,拥有显示属性值的方法(showInfo)。从Person类派生出一个Student类,拥有数

本文介绍了一个使用Java实现的学生信息管理系统的具体设计与实现过程。系统包含Person类和其子类Student,实现了学生基本信息(姓名、编号)的管理,以及学生的成绩录入、平均成绩计算等功能。通过具体的代码示例,展示了面向对象编程的基本概念,如继承、封装和多态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package monster.zf.Test;
/**
 * 4.
	 * 定义并实现一个Person类,包含姓名(name)与编号(code)
	 * 等两个属性,通过构造函数为属性赋值,拥有显示属性值的方法(showInfo)。
	 * 从Person类派生出一个Student类,拥有数学成绩、英语成绩、
	 * Java成绩等三个属性,拥有输入成绩、计算平均成绩、显示信息
	 * (姓名、编号及平均值)等方法。编写一段程序,测试这两个类。
 * @remakeTODO
 * @author Conquer丶ZF
 * @date 2019年9月13日上午8:18:08
 */
public class Person {
	private int code;
	private String name;
	
	/*
	 * 空参构造	
	 */
	public Person() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	/*
	 * 含参构造
	 */
	public Person(int code, String name) {
		super();
		this.code = code;
		this.name = name;
	}
	
	
	public int getCode() {
		return code;
	}
	public void setCode(int code) {
		this.code = code;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public void showInfo(){
		 System.out.println("姓名为:" + getName());
		 System.out.println("编号为:" + getCode());
	}
	
	

}
package monster.zf.Test;

import java.util.Scanner;

/**
 * Student类继承Person类
 	* Student类,拥有数学成绩、英语成绩、
	 * Java成绩等三个属性,拥有输入成绩、计算平均成绩、显示信息
	 * (姓名、编号及平均值)等方法。
 * @remakeTODO
 * @author Conquer丶ZF
 * @date 2019年9月13日上午8:25:10
 */
public class Student extends Person {
	private double mathscore;
	private double englishscore;
	private double javascore;
	
	
	public double getMathscore() {
		return mathscore;
	}
	public void setMathscore(double mathscore) {
		this.mathscore = mathscore;
	}
	public double getEnglishscore() {
		return englishscore;
	}
	public void setEnglishscore(double englishscore) {
		this.englishscore = englishscore;
	}
	public double getJavascore() {
		return javascore;
	}
	public void setJavascore(double javascore) {
		this.javascore = javascore;
	}
	
	/*
	 * 用于输入成绩的方法
	 */
	public void inputScore(){
		Scanner input =  new Scanner(System.in);
		System.out.println("请分别输入数学、英语、java成绩:");
		double mathscore = input.nextDouble();
		double englishscore = input.nextDouble();
		double javascore = input.nextDouble();
		setMathscore(mathscore);
		setEnglishscore(englishscore);
		setJavascore(javascore);
		input.close();
	}
	
	/*
	 * 计算平均值的方法
	 */
	public double avg(){	
		return (getMathscore()+getEnglishscore()+getJavascore())/3;
	}
	
	/*
	 * 显示信息的方法
	 */
	public void show(){
		Person p = new Person(1, "啊邓");
		p.showInfo();
		System.out.println(p.getName()+"数学成绩为:" + getMathscore());
		System.out.println(p.getName()+"英语成绩为:" + getMathscore());
		System.out.println(p.getName()+"java成绩为:" + getMathscore());
		double avg = avg();
		System.out.print(p.getName()+"平均成绩为:" + avg);
	}

}
package monster.zf.Test;


/**
 * Student测试类
 * @remakeTODO
 * @author Conquer丶ZF
 * @date 2019年9月13日上午8:48:59
 */
public class StudentTest {

	public static void main(String[] args) {
		Student stu = new Student();
		stu.inputScore();
		stu.show();
		
		
		

	}

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值