第四章 Java面向对象的程序设计基础
- 格式:doc
- 大小:107.00 KB
- 文档页数:5
第4章 面向对象的程序设计基础
在前边的实验中,已经了解了Java的基本数据及其运算规则、程序设计的三种基本结构(顺序、选择和循环)以及简单的输入输出处理。从本章开始,将以对象为基础进行编程训练。
本章试验的任务主要是了解类的基本构成,声明及定义成员变量、成员方法和构造方法等;创建对象及对象的与应用。
4.1 实验一:定义类
1. 实验目的
1)正确理解类的基本概念;
2)能适当地划分类,基本掌握类的构成,类的声明及定义。
2.实验要求
根据类的划分和构成,创建新类,初步掌握简单且常用类的设计方法,完成类程序的编写与调试。
3.实验内容
实验示例4.1.1 创建一个公司的职员信息类Employers类。
实现该示例的方法步骤如下:
⑴ 首先分析一下该类的构成
① 成员变量
一般来说,公司职员的基本信息,应该包括如下:
ID 身份证号
name 姓名
sex 性别
birthday 出生年月
home 籍贯
address 居住地址
number 职员号码
等等。它们均可被声明为String (字符串) 类型。
② 成员方法
对于一个公司的管理来说,常常需要获取或修改职员的某些信息,因此可以定义如下一些成员方法:
getNumber() 获得职员号码;
getName() 获得职员姓名;
getID() 获得职员的身份证号;
setNumber(String num) 修改或设置职员号码;
setName(String name) 修改或设置职员姓名;
setID(String ID) 修改或设置职员的身份证号; display() 显示职员的信息。
③ 构造方法
构造方法用于构造类的对象。一般来说,不同的对象有不同的属性,使用不同的属性参数能构造不同的对象。
如果在类中没有定义构造方法,那么构造对象时将使用系统默认的方法,构造的对象的所有属性为空值。
可以根据成员变量的数据类型设置全参数的构造方法:
Employers(String ID,String name,String sex,String birthday,String home,String address,
String number)
{
………… //为成员变量赋值
}
当然也可根据需要设置部分参数的构造方法,对没有赋值的成员变量,系统默认为空值。
⑵ 根据上边分析,按照类的构成,可给出如下的Employers类程序代码:
public class Employers
{
String number ; //声明职员号
String name; //声明姓名
String sex; //声明性别
String birthday; //声明出生年月
String home; //声明籍贯
String address; //声明家庭住址
String ID; //声明身份证号
public String getNum() //获得职员号方法
{
return number;
}
public String getName() //获得姓名方法
{
return name;
}
public String getID() //获得身份证号方法
{
return ID;
}
public void setNum(String number) //设置职员号方法
{
this.number=number;
}
public void setName(String name) //设置姓名方法
{
=name;
}
public void setID(String ID) //设置身份证号方法
{
this.ID=ID;
}
public void display() //显示信息方法
{
System.out.println("职员号码:"+number);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("出生日期:"+birthday);
System.out.println("籍贯:"+home);
System.out.println("住址:"+address);
System.out.println("身份证号:"+ID);
}
图 0-1 示例4.1.2程序执行结果 public Employers(String number,String name,String sex,String birthday, String
home,String address,String ID)//构造函数
{
this.number=number;
=name;
this.sex=sex;
this.birthday=birthday;
this.home=home;
this.address=address;
this.ID=ID;
}
}
⑶ 输入上述代码,建立源程序文件Employers.java。之后, 编译它生成公用类(public)文件(.class字节码文件),以便在应用程序中使用它。
认真阅读上述程序,思考如下问题:
关键字this的作用是什么?一般在哪些情况下需要使用它?
为了熟练掌握类的定义与建立,作为本实验的作业完成下边的自由练习:
自由练习4.1 仿造上边的类程序,定义一个学生基本信息类。
实验示例4.1.2 创建职员Employers对象并显示Employers对象的信息。
实现该示例的方法步骤如下:
⑴ 先分析示例的要求,这是一个编写并测试Employers类功能的程序,在测试程序中,只需要创建EMployers类的对象,然后执行对象的display()方法即可。
⑵ 根据上边对示例的分析,可写出如下程序代码:
public class TestEmployers
{
public static void main(String [] args)
{
//创建两个Employers对象e1,e2
Employers e1 = new Employers("0016","张明","男","1970.1.10","重庆","黄河路11号");
Employers e2 = new Employers("0009","李岚","女","1988.7.5","南京","长江东路71号");
s1.display(); //显示对象e1的信息
System.out.println("----------------------");
s2.display(); //显示对象e2的信息
}
}
⑶ 编译并运行程序,程序执行结果如错误!未找到引用源。所示。
这是第一个使用自定义类直接创建对象的Java应用程序。从程序中可以看到,所谓面向对象程序设计,就是把程序中所有东西都可看作是对象,对象可以被看成是一种能保存数据且能对自身进行操作的新型变量,请认真阅读理解程序,逐步理解面向对象程序设计的基本思想,基本掌握面向对象程序设计的基本方法和技巧。
作为本实验的作业在完成自由练习1的基础上,完成下边的自由练习2:
自由练习4.2 仿造示例4.1.2的测试程序,创建学生基本信息类Students对象,并显示对象的信息。
4.2 实验二: 方法的定义及应用
1. 实验目的
1)进一步理解不同方法的定义与应用;
2)基本掌握类方法、重载方法的构成及引用。
2.实验要求
在已建立的自定义类中添加重载方法,进一步完善类的功能。
3.实验内容
实验示例4.2.1 在实验示例4.1.1创建的Employers类中添加一个无参数的构造方法、两个显示方法分别输出对象的任意一个成员项、任意三个成员项的信息。
实现该示例的方法步骤如下:
⑴ 根据题目要求,先添加一个无参数构造方法,如前所述,构造方法主要用于构造对象,给对象的各成员变量赋值,由于没有参数给对象的成员变量传递值,所以可在方法中给成员变量赋予默认初值,方法代码如下:
public Employers()
{
number=”0000”;
name=”无名氏”;
sex=“男”;
birthday=”1990.1.1”;
home=“不祥”;
address=”不祥”;
ID=“000000000000000000”;
}
⑵ 再添加一个可输出对象的任一成员值的display()重载方法,在该方法中,需要一个参数传递要显示的成员值,方法的代码如下:
public void display(String Value)
{
System.out.println(Value);
}
⑶ 最后再添加一个可输出对象的任意3个成员值的display()重载方法,在该方法中,需要3个参数传递要显示的成员值,方法的代码如下:
public void display(String Value1,String Value2,String Value3)
{
System.out.println(Value1);
System.out.println(Value2);
System.out.println(Value3);
}
⑷ 将上述的三个方法的代码添加到Employers.java源程序文件中之后,编译Employers.java源程序代码,生成Employers.class字节码类文件,以供其他应用程序使用。
为了基本掌握重载方法的定义,请完成下边的自由练习作业:
自由练习4.3 仿造示例4.2.1的操作,完成在学生基本信息类Students中添加一个无参数的构造方法、两个重载的display()方法,分别显示输出对象的任意两个成员项、任意三个成员项。