第四章 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()方法,分别显示输出对象的任意两个成员项、任意三个成员项。