面向对象程序设计的基本操作 实验报告

《面向对象程序设计》课内实验报告

20##年10月17日


目  录

一、实验目的... 1

二、实验内容... 1

三、实现方法... 1

四、实验结果... 2

五、源程序清单... 3

六、思考及总结... 8


一、实验目的

1.掌握Java 类的定义、对象的创建和使用方法。

2.掌握Java类中域、方法修饰符的运用。

3.掌握Java类的访问控制符的使用。

二、实验内容

定义一个表示公司员工的Employee类,类中包括姓名、年龄、工资、入职时间(包括年月日)4个private数据域,通过构造函数对所有数据域进行初始化,并通过定义一些public方法访问和修改类中的private数据域,具体要求如下:

1.编写Java Application程序,在程序中创建至少2个不同的Employee对象,并将创建的Employee对象的所有信息输出。

2.编写Java Applet程序,通过文本框输入个员工的姓名、年龄、工资、入职时间信息创建Employee对象(至少创建2个员工对象),并将创建的Employee对象的所有信息在界面上显示输出。

3.在操作2的基础上通过建立新的文本框输入某个员工新的年龄和工资信息,以对原来员工的年龄和工资信息进行修改,并将修改后员工的所有信息在界面上重新显示输出。

三、实现方法

1.第1题:

创建Employee对象,定义了域:name(职工姓名)、age(职工年龄)、salary(职工工资)、entry_time(入职时间),定义方法getInfo()返回职工信息。创建2个员工对象,输出员工信息。

2.第2题:

在Applet中,定义Label、TextField、Button,并将输入的数据作为实例化Employee对象的输入参数,最后将返回的输出内容在屏幕上显示出来。

3.第3题:

在Applet中,定义Label、TextField、TextArea、Button,判别修改年龄和修改工资文本框有没有输入内容,若输入了内容,则将输入的内容代替原来年龄和工资的值,并作为实例化Employee对象的输入参数,最后在屏幕上显示出输出。


四、实验结果

1.第1题运行结果:

2.第2题运行结果:

3.第3题运行结果:

五、源程序清单

1.       第1题源程序:

package experiment3;

public class experiment3_1 {

     public static void main(String args[]){

            Employee emp1=new Employee("徐永凯",21,2000,"20##年10月17日");

            System.out.println(emp1.getInfo());

            Employee emp2=new Employee("张靖",21,3000,"20##年10月17日");

            System.out.println(emp2.getInfo());

     }

}

class Employee{

     String name;//姓名

     int age;//年龄

     double salary;//工资

     String entry_time;//入职时间

     Employee(String name,int age,double sal,String entry){

            this.name=name;

            this.age=age;

            this.salary=sal;

            this.entry_time=entry;

     }

     String getInfo(){

            return "职工名称:"+name+"\n"

                          +"职工年龄:"+age+"\n"

                          +"职工工资:"+salary+"\n"

                          +"入职时间:"+entry_time+"\n";

     }

}

2.       第2题源程序:

package experiment3;

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class experiment3_2 extends Applet implements ActionListener{

     /**

      *

      */

     private static final long serialVersionUID = 1L;

     Label name1Prompt,age1Prompt,salary1Prompt,entry1Prompt;

     Label name2Prompt,age2Prompt,salary2Prompt,entry2Prompt;

     TextField name1Input,age1Input,salary1Input,entry1Input;

     TextField name2Input,age2Input,salary2Input,entry2Input;

     Button btn;

     String name1,name2;//姓名

     int age1,age2;//年龄

     double salary1,salary2;//工资

     String entry_time1,entry_time2;//入职时间

     String str1,str2;     

    

     public void init(){

            name1Prompt=new Label("第一位职工名称:");

            age1Prompt=new Label("第一位职工年龄:");

            salary1Prompt=new Label("第一位职工工资:");

            entry1Prompt=new Label("第一位入职时间:");

            name1Input=new TextField(10);

            age1Input=new TextField(10);

            salary1Input=new TextField(10);

            entry1Input=new TextField(10);

            name2Prompt=new Label("第二位职工名称:");

            age2Prompt=new Label("第二位职工年龄:");

            salary2Prompt=new Label("第二位职工工资:");

            entry2Prompt=new Label("第二位入职时间:");

            name2Input=new TextField(10);

            age2Input=new TextField(10);

            salary2Input=new TextField(10);

            entry2Input=new TextField(10);         

            btn=new Button("提交");

            add(name1Prompt);add(name1Input);

            add(name2Prompt);add(name2Input);

            add(age1Prompt);add(age1Input);

            add(age2Prompt);add(age2Input);

            add(salary1Prompt);add(salary1Input);

            add(salary2Prompt);add(salary2Input);

            add(entry1Prompt);add(entry1Input);

            add(entry2Prompt);add(entry2Input);         

            add(btn);

            btn.addActionListener(this);

     }

     public void paint(Graphics g){

            g.drawString(str1, 20, 160);

            g.drawString(str2, 20, 180);

     }

     public void actionPerformed(ActionEvent e){

             name1=name1Input.getText();

             age1=Integer.parseInt(age1Input.getText());

             salary1=Double.parseDouble(salary1Input.getText());

             entry_time1=entry1Input.getText();

             name2=name2Input.getText();

             age2=Integer.parseInt(age2Input.getText());

             salary2=Double.parseDouble(salary2Input.getText());

             entry_time2=entry2Input.getText();          

             Employee emp1=new Employee(name1,age1,salary1,entry_time1);

             str1=emp1.getInfo();

             Employee emp2=new Employee(name2,age2,salary2,entry_time2);

             str2=emp2.getInfo();

             repaint();

     }

}

class Employee{

     String name;//姓名

     int age;//年龄

     double salary;//工资

     String entry_time;//入职时间

     Employee(String name,int age,double salary2,String entry){

            this.name=name;

            this.age=age;

            this.salary=salary2;

            this.entry_time=entry;

     }

     String getInfo(){

            return "职工名称:"+name+"\n"

                          +"职工年龄:"+age+"\n"

                          +"职工工资:"+salary+"\n"

                          +"入职时间:"+entry_time+"\n";

     }

}

3.       第3题源程序:

package experiment3;

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class experiment3_3 extends Applet implements ActionListener{

     /**

      *

      */

     private static final long serialVersionUID = 1L;

     Label name1Prompt,age1Prompt,salary1Prompt,entry1Prompt,age1Prompt2,salary1Prompt2;

     Label name2Prompt,age2Prompt,salary2Prompt,entry2Prompt,age2Prompt2,salary2Prompt2;

     TextField name1Input,age1Input,salary1Input,entry1Input,age1Input2,salary1Input2;

     TextField name2Input,age2Input,salary2Input,entry2Input,age2Input2,salary2Input2;

     Button btn;

     String name1,name2;//姓名

     int age1,age2;//年龄

     double salary1,salary2;//工资

     String entry_time1,entry_time2;//入职时间

     String str1,str2;     

    

     public void init(){

            name1Prompt=new Label("第一位职工名称:");

            age1Prompt=new Label("第一位职工年龄:");

            salary1Prompt=new Label("第一位职工工资:");

            entry1Prompt=new Label("第一位入职时间:");

            age1Prompt2=new Label(" 修改职工年龄:");

            salary1Prompt2=new Label(" 修改职工工资:");

            name1Input=new TextField(10);

            age1Input=new TextField(10);

            salary1Input=new TextField(10);

            entry1Input=new TextField(10);

            age1Input2=new TextField(10);

            salary1Input2=new TextField(10);

            name2Prompt=new Label("第二位职工名称:");

            age2Prompt=new Label("第二位职工年龄:");

            salary2Prompt=new Label("第二位职工工资:");

            entry2Prompt=new Label("第二位入职时间:");

            age2Prompt2=new Label("  修改职工年龄:");

            salary2Prompt2=new Label("  修改职工工资:");

            name2Input=new TextField(10);

            age2Input=new TextField(10);

            salary2Input=new TextField(10);

            entry2Input=new TextField(10);

            age2Input2=new TextField(10);

            salary2Input2=new TextField(10);

            btn=new Button("提交");

            add(name1Prompt);add(name1Input);

            add(name2Prompt);add(name2Input);

            add(age1Prompt);add(age1Input);

            add(age2Prompt);add(age2Input);

            add(salary1Prompt);add(salary1Input);

            add(salary2Prompt);add(salary2Input);

            add(entry1Prompt);add(entry1Input);

            add(entry2Prompt);add(entry2Input);  

            add(age1Prompt2);add(age1Input2);

            add(age2Prompt2);add(age2Input2);

            add(salary1Prompt2);add(salary1Input2);

            add(salary2Prompt2);add(salary2Input2);

            add(btn);

            btn.addActionListener(this);

     }

     public void paint(Graphics g){

            g.drawString(str1, 20, 210);

            g.drawString(str2, 20, 230);

     }

     public void actionPerformed(ActionEvent e){

             name1=name1Input.getText();

             age1=Integer.parseInt(age1Input.getText());

             salary1=Double.parseDouble(salary1Input.getText());

             entry_time1=entry1Input.getText();

             name2=name2Input.getText();

             age2=Integer.parseInt(age2Input.getText());

             salary2=Double.parseDouble(salary2Input.getText());

             entry_time2=entry2Input.getText();   

             if(age1Input2.getText()!=""){

                    age1=Integer.parseInt(age1Input2.getText());

             }

             if(salary1Input2.getText()!=""){

                    salary1=Double.parseDouble(salary1Input2.getText());

             }

             if(age2Input2.getText()!=""){

                    age2=Integer.parseInt(age2Input2.getText());

             }

             if(salary2Input2.getText()!=""){

                    salary2=Double.parseDouble(salary2Input2.getText());

             }

             Employee emp1=new Employee(name1,age1,salary1,entry_time1);

             str1=emp1.getInfo();

             Employee emp2=new Employee(name2,age2,salary2,entry_time2);

             str2=emp2.getInfo();

             repaint();

     }

}

class Employee{

     String name;//姓名

     int age;//年龄

     double salary;//工资

     String entry_time;//入职时间

     Employee(String name,int age,double salary2,String entry){

            this.name=name;

            this.age=age;

            this.salary=salary2;

            this.entry_time=entry;

     }

     String getInfo(){

            return "职工名称:"+name+"\n"

                          +"职工年龄:"+age+"\n"

                          +"职工工资:"+salary+"\n"

                          +"入职时间:"+entry_time+"\n";

     }

}

六、思考及总结

学会了将类继承并对新的类的一些操作。

相关推荐