金陵科技学院实验报告
}
}
System.out.println(\平均分:\System.out.println(\最高分:\System.out.println(\最低分:\System.out.println(stu.getInfo()) ;
对照范例写出如下题目:
(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。
可以从此地址类中得到一个完整的地址信息。
(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”,它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、 “设置员工姓名”、“设置员工号码”、“设置员工基本薪水”、所有员工信息的输出getInfo。 (3)、定义一个圆形类,可以返回圆的面积与周长。 class Circle{ 成员变量 半径 r 构造方法 成员函数 设置和获取 半径 计算周长 计算面积
所有信息输出 }
定义一个矩形类,返回矩形的面积与周长 (4)、思考设计:一个人有一本书,一本书属于一个人。 //一个人有一本书,一本书属于一个人 //类 新的类别、类型 定义新的数据类型 //两个类的关系 独立的两个类 使用 class Person{
private String name; private int age;
private Book book; //一个人有一本书 public Person(){
}
public Person(String name,int age){ this.name=name; this.age=age; }
public void setBook(Book book){ this.book=book; }
public Book getBook(){ return this.book;
金陵科技学院实验报告
} }
class Book{
private String name; private float price;
private Person person; //一本书属于一个人 public Book(){ }
public Book(String name,float price){ this.name=name; this.price=price; }
public void setPerson(Person person){ this.person=person; }
public Person getPerson(){ return this.person; } }
public class TestBP{
public static void main(String args[]){ Person per=new Person(\ Book bok=new Book(\ per.setBook(bok); //一个人有一本书 bok.setPerson(per); //一本书属于一个人 per.getBook().getPrice(); bok.getPerson().getName(); } }
3、面向对象的继承性
范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动
态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:
反转类:可以将数组的内容反转排列 排序类:可以对数组进行排序的操作 class Array{
private int temp[] = null ; // 只是声明数组,但是大小未知 private int foot = 0 ; // 用于保存下一个的记录点 public Array(int len){ if(len>0){
this.temp = new int[len] ; // 此时大小由外部决定 }else{
this.temp = new int[1] ; // 至少开辟一个空间 } }
金陵科技学院实验报告
public boolean add(int i){ // 加入数据操作 if(this.foot return true ; // 加入成功返回true }else{ return false ; // 加入失败 } } public int[] getArray(){ // 返回全部的数组 return this.temp ; } } class SortArray extends Array{ public SortArray(int len){ super(len) ; } public int[] getArray(){ java.util.Arrays.sort(super.getArray()) ; // 排序操作 return super.getArray() ; // 返回的是排序后的内容 } } class ReverseArray extends Array{ public ReverseArray(int len){ super(len) ; } public int[] getArray(){ int rt[] = new int[super.getArray().length] ; // 根据大小开辟新数组 int count = rt.length-1 ; for(int x=0;x return rt ; } } public class ArrayDemo{ public static void main(String args[]){ ReverseArray arr = new ReverseArray(6) ; System.out.println(arr.add(3)) ; System.out.println(arr.add(23)) ; System.out.println(arr.add(1)) ; System.out.println(arr.add(5)) ; 金陵科技学院实验报告 System.out.println(arr.add(6)) ; System.out.println(arr.add(8)) ; System.out.println(arr.add(11)) ; System.out.println(arr.add(16)) ; print(arr.getArray()) ; } public static void print(int i[]){ for(int x=0;x System.out.print(i[x] + \、\ } } } 对照范例写出如下题目: (1). 创建GrandFather类,其中包括 a) 属性:姓名(name),年龄(age) b) 方法getGrandFather():显示爷爷的信息 c) 构造方法:给爷爷的姓名,年龄赋值 (2). 创建Father类,继承Grandfather类 a) 属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation) b) 构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。 c) 方法getFather(): 显示父亲的相关信息 (3). 创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。 3、面向对象多态性 范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo; abstract class Bottom { //父类抽象类 底部 public abstract double calculatorArea(); } class CircleBottom extends Bottom{ //圆形底 /** * 半径 */ private double radius; @Override public double calculatorArea() { return Math.PI * radius * radius; } public double getRadius() { 金陵科技学院实验报告 return radius; } public void setRadius(double radius) { this.radius = radius; } public CircleBottom(double radius) { super(); this.radius = radius; } } class SquareBottom extends Bottom{ //矩形底 private double sideA; private double sideB; public double getSideA() { return sideA; } public void setSideA(double sideA) { this.sideA = sideA; } public double getSideB() { return sideB; } public void setSideB(double sideB) { this.sideB = sideB; } @Override public double calculatorArea() { return sideA * sideB; } public SquareBottom(double sideA, double sideB) { super(); this.sideA = sideA; this.sideB = sideB; } } class ZhuTi { //柱体类,完成形状的拼装 /** * 底 */ private Bottom bottom; /** * 高 */ 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java程序设计实验2(2)在线全文阅读。
相关推荐: