【JAVA】42、实例讲解——类设计分析

本篇博文最后修改时间:2016年3月23日,23:58。


一、简介

本篇介绍实例讲解——类设计分析。


二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。

三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato

联系方式:315878825@qq.com

Java零基础入门交流群:541462902


四、实例讲解——类设计分析

1、分析思路

①根据要求写出类所包含的属性

②所有的属性都必须进行封装(private)

③封装之后的属性通过setter和getter设置和取得

④如果需要可以加入若干构造方法

⑤再根据其他要求添加相应的方法

⑥类中的所有方法都不要直接输出,而是交给被调用出输出。


2、题目:

定义并测试一个名为Strudent的类,包括的属性有“学号”、“姓名“以及3门课程”数学“、”英语“和”计算机的成绩,包括的方法有计算3门课程的”总分“、”平均分“、”最高分“及”最低分“。

①本类中的属性及类型


②定义出需要的方法(普通方法、构造方法)

在本例中设计2个构造方法,一个是无参的构造方法,另外一个构造方法可以为5个属性进行赋值


按照以上类图,编写具体的代码如下:

范例:实现代码

class Student						//定义学生类
{	
	private String stuno;			//学生编号
	private String name;			//学生姓名 
	private float math;				//数学成绩
	private float english;			//英语成绩
	private float computer;			//计算机成绩
	public Student ()
	{		
	}
	//定义有5个参数的构造方法,为类中的属性初始化
	public Student(String stuno, String name, float math, float english, float computer)
	{
		this.setStuno(stuno);		//设置编号
		this.setName(name);			//设置姓名
		this.setMath(math);			//设置数学成绩
		this.setEnglish(english);	//设置英语成绩
		this.setComputer(computer);	//设置计算机成绩
	}
	public void setStuno(String s)	//设置编号
	{
		stuno = s;
	}
	public void setName(String n)	//设置姓名
	{
		name = n;
	}
	public void setMath(float m)	//设置数学成绩
	{
		math = m;
	}
	public void setEnglish(float e)	//设置英语成绩
	{
		english = e;
	}
	public void setComputer(float c) //设置计算机成绩
	{
		computer = c;
	}
	public String getStuno()		//取得编号
	{
		return stuno;
	}
	public String getName()			//取得姓名
	{
		return name;
	}
	public float getMath()			//取得数学成绩
	{
		return math;
	}
	public float getEnglish()		//取得英语成绩
	{
		return english;
	}
	public float getComputer()		//取得计算机成绩
	{
		return computer;
	}
	public float sum()				//计算机总分
	{
		return math + english + computer;
	}	
	public float avg()				//计算平均分
	{
		return this.sum() / 3;
	}
	public float max()				//最高成绩
	{
		float max = math;
		max = max > computer? max : computer;		//使用三目运算符
		max = max > english? max : english;			//使用三目运算符
		return max;		
	}
	public float min()				//最低成绩
	{
		float min = math;
		min = min < computer? min : computer;		//使用三目运算符
		min = min < english? min : english;			//使用三目运算符
		return min;		
	}
}
public class ExampleDemo01
{
	public static void main(String args[])
	{
		Student stu = null;			//声明对象
		//实例化Student对象,并通过构造方法赋值
		stu = new Student("MLDN - 33", "李兴华", 95.0f, 89.0f, 96.0f);
		System.out.println("学生编号:" + stu.getStuno());
		System.out.println("学生姓名:" + stu.getName());
		System.out.println("数学成绩:" + stu.getMath());
		System.out.println("英语成绩:" + stu.getEnglish());
		System.out.println("计算机成绩:" + stu.getComputer());
		System.out.println("最高分:" + stu.max());
		System.out.println("最低分:" + stu.min());
	}
}
程序运行结果:


以上程序只是为大家简单地介绍了类的基本分析思路,实际问题肯定会复杂得多。

此时,就需要大家耐心分析,只有掌握好面相对象中的各个概念,才可以对程序代码进行更加合理的分析与设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值