实验三 Java面向对象基础
一、实验目的与要求
1、掌握面向对象的基本概念,掌握类定义的方法、对象的创建、访问; 2、熟练掌握、深刻理解构造方法的概念、含义、作用、调用时机等; 3、掌握几个关键字的特征及用法:static、this; 4、深刻理解和掌握方法重载; 5、了解类的权限、成员的权限。 二、实验原理
在面向对象程序设计中,类是有属性和方法组成的一个程序单元。属性表示了类的数据,而方法表示了类的行为。
在面向对象程序设计中,对象被称做类的一个实例,而类是对象的模板。由于对象是类的实例,因此在定义对象之前应先定义类。在定义类之后,然后在类的基础上创建对象。
构造方法是类的一种特殊方法,它的特殊性体现在: 1.构造方法名与类名相同; 2.不能对构造方法指定类型; 3.构造方法可以重在;
4.如果用户未定义该类的构造方法,系统将为该类定一个默认的构造方法。
三、预习与准备
掌握基本的概念及原理,明确实验任务和目的,准备实验的源代码。 四、实验内容
第1题属于基本概念题,第2题属于对面向对象思想的理解和应用。第1、3题将为下一章做准备,建立类之间的关系。
1、定义一个学生类,要求如下:
(1)类名是Student;
(2)该类包含3个属性:学号sID,姓名sName,年龄sAge;
(3)给各个属性设置set\\get方法,合适的访问权限; (4)定义缺省的构造方法; (5)定义合适的重载的构造方法; (6)重写toString( ) 方法;
(7)定义一个表示人数的静态成员变量,用以对学号进行自动增加赋值; (8)创建数组对象(多个学生)。
2、定义一个类用以实现求最大值、次大值。必须使用面向对象的思想。 提示:定义类时,可以提供多种样式的构造方法。譬如:自动随机生成数组,人为提供数组;使用方法getFMax( )、getSMax( )来求解最大次大值;考虑是否需要提供这两个的属性对应的成员变量。
3、定义一个教师类、一个课程类。
五、实验过程
1、定义一个学生类
package chapter12;
public class Student {
private String sID; //学号 private String sName; //姓名 private int sAge; //年龄 private int number=1; public Student(){ }//定义空构造方法
public Student(String sID,String sName,int sAge){//定义
有重载的构造方法
this.sID=sID;
this.sName=sName; this.sAge=sAge; number++;
}
//创建get/set方法 public String getsID(){ return sID; }
public void setsID(String sID){ this.sID=sID; }
public String getsName(){ return sName; }
public void setsName(String sName){ this.sName=sName; }
public int getsAge(){ return sAge; }
public void setsAge(int sAge){ this.sAge=sAge; }
public String toString(){
return \学号:\+sID+\+\姓名:\+sName+\龄:\+sAge;
}
}
package chapter12; public class Chp_1 {
public static void main(String[] args) { Student std[]=new Student[4];//创建对象数组 std[0]=new Student(\,\张三\,20); std[1]=new Student(\,\王五\,21); std[2]=new Student(\,\李四\,19); std[3]=new Student(\,\香相\,22); for(int i=0;i System.out.println(std[i].toString()); +\年 } } } 2、定义一个类用以实现求最大值、次大值。 package chapter13; public class Chp12_1 { private int firstmax;//最大值 private int secondmax;//次大值 int t; //set/get方法 public void setFirstMax(int firstmax){ this.firstmax=firstmax; } public int getFirstMax(){ return firstmax; } public void setSecondMax(int secondmax){ this.secondmax=secondmax; } public int getSecondMax(){ return secondmax; } public int getFMax(int number[]){//对数组排序 for(int i=1;i for(int j=0;j number[j]=number[j+1]; number[j+1]=t; } } } return number[number.length-1]; } public int getSMax(int number[]){ for(int i=1;i for(int j=0;j number[j]=number[j+1]; number[j+1]=t; } } } return number[number.length-2]; } } package chapter13; public class Chp12_2 { public static void main(String[] args) { } } 3、定义一个教师类、一个课程类。 教师类: package chapter14; public class Teacher {//教师类 private String name;//姓名 private String srt;//职称 private double money;//工资 private double src;//工龄 Chp12_1 pp= new Chp12_1();//创建一个对象 int N[]={10,12,22,5,24,6,8,9,36,11}; pp.setFirstMax(pp.getFMax(N)); System.out.println(\最大值为:\+pp.getFirstMax()); pp.setSecondMax(pp.getSMax(N)); System.out.println(\次大值为:\+pp.getSecondMax()); //set/get方法 public Teacher() { this.money = money; } public String getName() { return name; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库java实验三在线全文阅读。
相关推荐: