1. 程式人生 > >java eclipse 作業代寫、代做eclipse實驗

java eclipse 作業代寫、代做eclipse實驗

繼承性 源程序 進一步 protected 轉型 實例方法 ora ont mach

java eclipse 作業代寫、代做eclipse實驗
《java程序設計》課程實驗報告
實驗四 繼承與多態
一、實驗目的及要求
1、了解如何使用類及其成員的修飾符,掌握方法的繼承、重載和覆蓋。
2、掌握類的繼承關系和派生方法。
3、掌握多態的概念與使用。
4、掌握接口的定義與使用。
二、實驗內容
(一)類的繼承性練習
1.進一步理解繼承的含義
新類可從現有的類中產生,並保留現有類的成員變量和方法並可根據需要對它們加以修改。新類還可添加新的變量和方法。這種現象就稱為類的繼承。
當建立一個新類時,不必寫出全部成員變量和成員方法。只要簡單地聲明這個類是從一個已定義的類繼承下來的,就可以引用被繼承類的全部成員。被繼承的類稱為父類或超類(superclass),這個新類稱為子類。
Java 提供了一個龐大的類庫讓開發人員繼承和使用。設計這些類是出於公用的目的,因此,很少有某個類恰恰滿足你的需要。你必須設計自己的能處理實際問題的類,如果你設計的這個類僅僅實現了繼承,則和父類毫無兩樣。所以,通常要對子類進行擴展,即添加新的屬性和方法。這使得子類要比父類大,但更具特殊性,代表著一組更具體的對象。繼承的意義就在於此。
2.編寫兩個程序文件KY4_1.java和KY4_2.java,實現類的繼承。
3.KY4_1.java的代碼如下:
public class KY4_1
{
protected String xm; //姓名
protected int xh; //學號
void setdata(String m,int h) //該方法為姓名和學號賦初始值
{
xm =m;
xh = h;
}
public void print() //輸出學生的姓名和學號
{
System.out.println(xm+", "+xh);
}
}
4.編譯 KY4_1.java,產生類文件 KY4_1.class。註意:暫時不運行程序KY4_2.class。
5.編寫一個程序文件KY4_2.java。程序功能如下:子類KY4_2繼承父類 KY4_1,其不僅具有父類的成員變量 xm(姓名)、xh(學號),還定義了新的成員變量 xy(學院)、xi(系)。在子類KY4_2中重寫了父類的方法print(),在該方法中不僅輸出學生的姓名和學號,而且還輸出學生的學院和系。另外,在子類KY4_2中還定義了一個主方法main。首先,在主方法中創建一個父類 KY4_1的對象f,設置f的姓名為你自己的名字,學號為"12321",並且調用print()方法輸出對象f的姓名和學號。接著,在主方法中創建一個子類 KY4_2的對象s,設置s的姓名為"郭娜",學號為"12345",學院為"經濟管理學院",系為"信息管理系",並且調用print()方法輸出對象s的姓名,學號,學院和系。
6.編譯並運行程序KY4_2.java。請將KY4_2的源程序以及運行結果寫在實驗報告中。
註意:父類 KY4_1 與子類 KY4_2要在同一文件夾(路徑)內。
要求: 將程序的源代碼、運行結果寫在實驗報告上。

(二)掌握上轉型對象的使用,理解不同對象的上轉型對象調用同一方法可能產生不同的行為(多態)。
上轉型對象可以訪問子類繼承或隱藏的成員變量,也可以調用子類繼承的方法或子類重寫的實例方法(此時等價於子類對象去調用這些方法。)如果子類重寫了父類的某個實例方法後,對象的上轉型對象調用的這個實例方法一定是子類重寫的實例方法)。
1. 編寫一個abstract類,類名為Geometry,該類有一個abstract方法。
public double area();
2. 編寫Geometry的若幹個子類,比如Circle子類和Rect子類。
3. 編寫Student類,該類定義一個public double area(Geometry ...p)方法,該方法的參數是可變參數,即參數的個數不確定,但類型都是Geometry。該方法返回參數計算的面積之和。
4. 在主類MainClass的main方法中創建一個Student對象,讓該對象調用
public double area(Geometry ...p)計算若幹個矩形和若幹個圓的面積之和。
Geometry.java
public abstract class Geometry{
public abstract double getArea( );
}

Rect.java
public class Rect extends Geometry {
double a,b;
Rect(double a,double b) {
this.a = a;
this.b = b;
}
【代碼1】 //重寫 getArea()方法,返回矩形面積
}
Circle.java
public class Circle extends Geometry {
double r;
Circle(double r) {
this.r = r;
}
【代碼2】 //重寫 getArea()方法,返回圓面積
}

Student.java
public class Student {
public double area(Geometry ...p) {
double sum=0;
for(int i=0;i<p.length;i++) {
sum=sum+p[i].getArea();
}
return sum;
}
}

MainClass.java
public class MainClass{
public static void main(String args[]) {
Student zhang = new Student();
double area =
zhang.area(new Rect(2,3),new Circle(5.2),new Circle(12));
System.out.printf("2個圓和1個矩形圖形的面積和:\n%10.3f",area);
}
}
實驗內容要求:將【代碼】部分替換為java程序代碼,成為完整的程序並將程序的源代碼、運行結果寫在實驗報告上。
(三)面向接口編程
接口回調是多態的另一種體現。接口回調是指可以把使用某一接口的類創建的對象的引用賦給該接口變量,那麽該接口變量就可以調用被類實現的接口中的方法,當接口變量調用被類實現的接口中的方法時,就是通知相應的對象調用接口的方法。所謂面向接口編程,是指當設計某個重要的類時,不讓該類面向具體的類,而是面向接口。即設計類中的重要數據是接口聲明的變量,而不是具體類聲明的對象。
天氣可能出現不同的狀態,要求用不同的接口封裝天氣的狀態。
具體要求如下:
? 1.編寫接口WeatherState,該接口有一個名字為void showState()的方法。
? 2.編寫Weather類,該類中有一個WeatherState聲明的變量state。另外,該類有一個show()方法,在該方法中讓接口state回調showState()的方法。
? 3.編寫若幹個實現WeatherState接口的類,負責刻畫天氣的各種狀態。
? 4.編寫主類,在主類中進行天氣預報。
WeatherState.java
public interface WeatherState { //接口
public void showState();
}
Weather.java
public class Weather {
WeatherState state;
public void show() {
state.showState();
}
public void setState(WeatherState s) {
state = s;
}
}
WeatherForecast.java
public class WeatherForecast { //主類
public static void main(String args[]) {
Weather weatherBeijing =new Weather();
System.out.print("\n今天白天:");
weatherBeijing.setState(new CloudyDayState());
weatherBeijing.show();
System.out.print("\n今天夜間:");
weatherBeijing.setState(new LightRainState());
weatherBeijing.show();
System.out.print("轉:");
weatherBeijing.setState(new HeavyRainState());
weatherBeijing.show();
System.out.print("\n明天白天:");
weatherBeijing.setState(new LightRainState());
weatherBeijing.show();
System.out.print("\n明天夜間:");
weatherBeijing.setState(new CloudyLittleState());
weatherBeijing.show();
}
}
CloudyLittleState.java
public class CloudyLittleState implements WeatherState {
public void showState() {
System.out.print("少雲,有時晴.");
}
}
CloudyDayState.java
public class CloudyDayState implements WeatherState {
【代碼1】 //重寫public void showState()
}
HeavyRainState.java
public class HeavyRainState implements WeatherState{
【代碼2】 //重寫public void showState()
}
LightRainState.java
public class LightRainState implements WeatherState {
【代碼3】 //重寫public void showState()方法
}

實驗內容要求:將【代碼】部分替換為java程序代碼。將程序的源代碼、運行結果寫在實驗報告上。
三、實驗設備與環境
windows7及以上系統,安裝eclipse+JDK
四、實驗過程和結果
五、實驗總結
http://www.6daixie.com/contents/9/1337.html

我們的方向領域:window編程 數值算法 AI人工智能 金融統計 計量分析 大數據 網絡編程 WEB編程 通訊編程 遊戲編程多媒體linux 外掛編程 程序API圖像處理 嵌入式/單片機 數據庫編程 控制臺 進程與線程 網絡安全 匯編語言 硬件編程 軟件設計 工程標準規等。其中代寫代做編程語言或工具包括但不限於以下範圍:

C/C++/C#代寫

Java代寫

IT代寫

Python代寫

輔導編程作業

Matlab代寫

Haskell代寫

Processing代寫

Linux環境搭建

Rust代寫

Data Structure Assginment 數據結構代寫

MIPS代寫

Machine Learning 作業 代寫

Oracle/SQL/PostgreSQL/Pig 數據庫代寫/代做/輔導

Web開發、網站開發、網站作業

ASP.NET網站開發

Finance Insurace Statistics統計、回歸、叠代

Prolog代寫

Computer Computational method代做

因為專業,所以值得信賴。如有需要,請加QQ:99515681 或郵箱:[email protected]

微信:codinghelp

java eclipse 作業代寫、代做eclipse實驗