物件導向練習題 介面,異常,多型,equals,

2021-10-24 21:34:17 字數 3100 閱讀 9198

題目:建立乙個圖形介面,宣告乙個面積函式,圓形和矩形都實現這個介面,並得出兩個圖形的面積

:體現物件導向的特徵,對數值進行判斷,用異常處理,不合法的數值要出現「這個數值是非法的提示」,不再進行運算。

package com.rqy.day13;

/** * 建立乙個圖形介面,宣告乙個面積函式,圓形和矩形都實現這個介面

* 並得出兩個圖形的面積.體現物件導向的特徵,對數值進行判斷

* 用異常處理,不合法的數值要出現「這個數值是非法的提示」,不再進行運算。

* * */

//建立自定義異常類,繼承runtimeexception,因為當呼叫者傳入錯誤的數值時,之間丟擲異常給呼叫者,對**進行修改

class

notvalueexception

extends

runtimeexception

notvalueexception

(string message)

}//定義介面

inte***ce

areable

//矩形類,實現介面

class

re******ments

areable

//矩形面積函式

public double getarea()

}//圓形類,實現介面

class

circle

implements

areable

//圓形面積函式

在乙個類中編寫乙個方法,這個方法搜尋乙個字元陣列中是否存在某個字元,如果存在,則返回這個字元在字元陣列中第一次出現的位置(序號從0開始計算),否則,返回-1。

要搜尋的字元陣列和字元都以引數形式傳遞給該方法,如果傳入的陣列為null,應丟擲illegalargumentexception異常。

在類的main方法中以各種可能出現的情況測試驗證該方法是否編寫正確。

package com.rqy.day13;

/** * 在乙個類中編寫乙個方法,這個方法搜尋乙個字元陣列中是否存在某個字元,

* 如果存在,則返回這個字元在字元陣列中第一次出現的位置(序號從0開始計算),否則,返回-1。

* 要搜尋的字元陣列和字元都以引數形式傳遞給該方法,

* 如果傳入的陣列為null,應丟擲illegalargumentexception異常。

* 在類的main方法中以各種可能出現的情況測試驗證該方法是否編寫正確。

*/class

demo

//判斷該陣列是否存在,若存在,則返回該字元第一次出現的位置,若不存在,返回-1

補足compare函式內的**,不許新增其他函式

* 描述person

* 屬性:姓名和年齡

* 行為:說出姓名和年齡

* 判斷是否是同乙個人(同年齡,同姓名)

*/class

person

//行為,說出姓名和年齡

public

void

speak()

//判斷是否是乙個人,使用object中的equals方法,但要按照子類中的特徵去判斷,所以覆蓋

public boolean equals

(object obj)

}public

class

descriperson

}

補足**

//補足**

class

circle

//請定義功能,比較兩個圓是否一樣大

}public

class

tc1}

//補足**

class

circle

//請定義功能,比較兩個圓是否一樣大

//根據**可知,其實就是覆蓋equals方法

介面 多型練習題

輸出下面程式結果 inte ce a class bimplements a class demo 執行結果 the method func is undefined for the type a 分析 a a new b 實現了多型,此時父類的引用指向子類的物件,相當於 動物 a new 狗 這就...

物件導向練習題

一 讀程式 1 寫出下列 的執行結果 class fatherclass public class test extends fatherclass public static void main string args 結果 fatherclass create fatherclass creat...

物件導向練習題

class myyear object definit self self.year int input 請輸入年份 def show season self for i in range 1,13 if i in 12,1,2 print i,冬季 elif i in 3,4,5 print i,...