《面向对象程序设计》课内实验报告
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";
}
}
学会了将类继承并对新的类的一些操作。
面向对象程序设计之课程设计上海电力学院课题名称院系专业学号姓名时间地点指导教师课程设计报告面向对象程序设计20xx20xx学年第一…
面向对象程序设计实验报告姓名学号班级专业学院实验三函数的应用一实验目的掌握函数的定义和调用方法练习重载函数使用练习函数模板的使用练…
题目11问题描述建立一个二维坐标系的类TwoCoor用xy表示坐标值实现两坐标点的加减运算计算两坐标点间的距离并重载输入输出运算符…
综合实验报告面向对象程序设计专业名称班级姓名学号信息科学与工程学院二零一三年七月信息科学与工程学院面向对象程序设计综合实验报告目录…
课程实验报告课程名称面向对象程序设计实验名称面向过程的整型栈编程院系计算机科学与技术专业班级学号姓名指导教师年日面向对象程序设计实…
综合实验报告面向对象程序设计专业名称班级姓名学号信息科学与工程学院二零一三年七月信息科学与工程学院面向对象程序设计综合实验报告目录…
课程实验报告课程名称面向对象程序设计实验名称面向过程的整型栈编程院系计算机科学与技术专业班级学号姓名指导教师年日面向对象程序设计实…
面向对象程序设计之课程设计上海电力学院课题名称院系专业学号姓名时间地点指导教师课程设计报告面向对象程序设计20xx20xx学年第一…
面向对象程序设计Java实验报告20xx20xx学年第2学期班级学号姓名指导教师序号班级学号姓名序号班级学号姓名序号班级学号姓名