實驗三 類的繼承和多態性

實驗三 類的繼承和多態性

1.(1)編寫一個接口ShapePara,要求: 接口中的方法: int getArea():獲得圖形的面積。int getCircumference():獲得圖形的周長

(2)編寫一個圓類Circle,要求:圓類Circle實現接口ShapePara。

該類包含有成員變量:

radius:public 修飾的double類型radius,表示圓的半徑。

x:private修飾的double型變量x,表示圓心的橫坐標。

y:protected修飾的double型變量y,表示圓心的縱坐標。

包含的方法有:

Circle(double radius) 有參構造方法。以形參表中的參數初始化半徑,圓心為坐標原點。 double getRadius():獲取半徑為方法的返回值。void setCenter(double x, double y):利用形參表中的參數設置類Circle的圓心坐標。void setRadius(double radius):利用形參表中的參數設置類Circle的radius域。

?

?

?

2.定義圖形類Shape,該類中有獲得面積的方法getArea();定義長方形類Rect,該類是Shape的子類,類中有矩形長和寬的變量double a,double b,設置長和寬的方法setWidth()、setHeight(),使用getArea()求矩形面積;利用getArea方法實現題1中圓面積的求解。

package zhongqiuzuoye;public interface ShapePara {public  double getArea();public  double getCircumference();}

?

package zhongqiuzuoye;public class Circle implements ShapePara {public double radius;private double x;public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}public double getX() {return x;}public void setX(double x) {this.x = x;}public double getY() {return y;}public void setY(double y) {this.y = y;}protected double y;public   Circle(double radius) {}void setCenter(double x, double y){this.x=x;this.y=y;}public double getArea() {return 3.14*radius*radius;}@Overridepublic double getCircumference() {// TODO 自動生成的方法存根return 0;}}
package zhongqiuzuoye;public class Shape {public void getArea(){}
}
package zhongqiuzuoye;public class Rect extends Shape{private double width;private double height;public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}Rect(double width,double height)         //帶有兩個參數的構造方法,用于將width和height屬性初化;
    {this.width=width;this.height=height;}public void getArea()                    //求矩形面積的方法
    {System.out.println("矩形的面積為:"+width*height);}}

?

package zhongqiuzuoye;public interface A {public static void main(String args[]) {    Rect rect=new Rect(12.76, 25.28);                System.out.println("矩形對象的寬:"+rect.getWidth()+" 高:"+rect.getHeight()+"面積為:");    rect.getArea();}
}

?

轉載于:https://www.cnblogs.com/zs6666/p/5898942.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373860.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373860.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373860.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ORA-01843:無效的月份

Oracle數據庫默認情況下,會以DD-MON-YY的形式顯示日期,其中DD是天數,MON是月份的前三個字母(大寫),而YY是年份的最后兩位。數據庫實際上會為年份存儲4位數字,但是默認情況下只會顯示最后兩位。 …

貪心策略取得最優解的條件_什么是貪心算法?

一、什么是貪心算法貪心算法是指,在對問題求解時,總是做出在當前看來是最好的選擇。(局部最優解,而不是整體最優解)貪心算法沒有固定的算法框架,算法設計的關鍵是貪心策略的選擇。必須注意的是,貪心算法不是對所有問題…

Devoxx第1天

參加Devoxx給我帶來了足夠的動力來發布我的第一篇博客文章。 我是第一次來這里,它的組織方式給我留下了深刻的印象。 目前有記錄的最高發言人。 對我來說,選擇演示文稿來參加是一個問題。 但是感謝組織者,所有活動都將在12月下旬在parleys.co…

Oracle 事務的開始與結束

事務是用來分割數據庫活動的邏輯工作單元,事務即有起點,也有終點; 事物的處理就是保證數據操作的完整性,所有的操作要么成功要么同時失敗。當下列事件之一發生時,事務就開始了:連接到數據庫上,并…

http tcp聯系區別

術語TCP/IP代表傳輸控制協議/網際協議,指的是一系列協議。“IP”代表網際協議,TCP和UDP使用該協議從一個網絡傳送數據包到另一個網絡。把IP想像成一種高速公路,它允許其它協議在上面行駛并找到到其它電腦的出口。TCP和UDP是高速公路上的“卡車…

python控件隨窗口變化而適配_Tkinter窗口/控件比例調整

我目前正在為一個編程類開發一個pythongui版本的Reversi。我已經對游戲邏輯進行了編程,目前我正在嘗試使用Tkinter實現GUI。我有一些問題,調整游戲板(根窗口)和它的一切(畫布和形狀)成比例。這款游戲目前還不錯,但我試圖讓棋盤正確調整大小的…

Java遞歸基礎

對于那些不知道遞歸是什么的人(并且像個笑聲一樣),請單擊以下鏈接:Google搜索:遞歸,然后單擊“您的意思是……”項。 希望您終于弄清楚了遞歸是指其自身的任何內容(如果不是,那么您可…

我是最棒的,我一定會成功!

有人曾經做過這樣一個實驗:他往一個玻璃杯里放進一只跳蚤,發現跳蚤立即輕易地跳了出來。再重復幾遍,結果還是一樣。根據測試,跳蚤跳的高度一般可達它身體的400倍左右,所以說跳蚤可以稱得上是動物界的跳高冠軍。     …

頭部ct能檢查出什么_【安全用藥】做CT檢查時應注意什么?

點擊藍字 關注我們安安徽徽,你知道做CT檢查時應注意什么?上腹部CT檢查前患者至少禁食6小時、檢查前15分鐘喝溫開水充盈胃部、CT檢查時,患者會受到一定量X射線輻射,應避免過度掃描......本期安全用藥,大家一起來了解了解…

JAXB,SAX,DOM性能

這篇文章探討了使用多種不同方法將XML文檔編組為Java對象的性能。 XML文檔非常簡單。 它包含一個Person實體的集合。 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <persons><person><id>person0</id>…

虛擬機Linux圖形界面配置NAT-橋接

點開“虛擬機->設置->橋接模式&#xff08;勾選復制物理網絡連接狀態&#xff09;->確認” 點擊“右上角扇形網絡圖標->Edit Connections->Wired->選中->Delete->Add->IPv4 Settings->Method(Manual)->Add->輸入IP&#xff0c;子網掩碼&am…

年輕人應該謹記的十點

有個朋友的孩子今年大學畢業&#xff0c;托我幫他找個“好工作”&#xff0c;而且再三強調&#xff0c;這關系到孩子的前途命運&#xff0c;要我一定要全力以赴。他&#xff0c;一個非名牌大學的計算機網絡專業應屆畢業生&#xff0c;沒有工作經驗&#xff0c;他能找一個什么樣…

python自動化構建工具_Python自動化構建工具scons使用入門筆記

這段時間用到了scons&#xff0c;這里總結下&#xff0c;也方便我以后查閱。一、安裝sconsLinux環境(以CentOS為例)1、yum安裝yum install scons2、源碼安裝下載scons&#xff1a;http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip安裝scons&…

Java 8狀態更新

即將到來的Java SE 8發行版的兩大新語言功能是Lambda Expressions和Modularity。 對于這兩者&#xff0c;這些天的狀態更新已經發布。 我會與您共享鏈接&#xff0c;因此您可能會在假期中通讀它們 Oracle計劃在2013年中期發布Java SE 8。 Lambda項目 Lambda項目以及JSR-335希望…

java 18 - 6 TreeMap嵌套使用

HashMap嵌套HashMap   動物     犬類         哈士奇   2         薩摩耶   1     貓類        波斯貓   2        加菲貓   3 先存儲元素&#xff0c;然后遍歷元素 1 package map_son;2 3 import java.util.HashMap;4 import…

程序設計語言

程序設計語言使用于書寫計算機程序的語言。程序設計語言有3個方面的因素&#xff0c;即語法&#xff0c;語義和語用。語法標識程序的結構或形式。語義表示程序的含義。語用表示程序與使用者的關系。 程序設計語言的發展史 程序的復雜性度量 1&#xff0c;代碼行度量法 出錯率&a…

python集合類型是一種具體的數據類型_Python3基礎語法之集合類型

set也是一種組合數據類型&#xff0c;支持成員關系操作(in)、對象大小計算操作符(len())&#xff0c;并且是iterable。集合數據類型至少提供一個set.isdisjoin()方法&#xff0c;支持比較&#xff0c;也支持為邏輯操作(在集合用于聯合、交叉等上下文中使用)。只有可哈希運算的對…

Linux 安裝之U盤引導

說到裝系統最簡單的方法無非就是找個系統安裝光盤來然后就一步一步慢慢的安裝。簡單是簡單但好似大多數人好像都木有Linux的安裝光盤。因此只能用U盤來模擬光盤的功能來裝系統咯。 電腦上裝有Windows 7現要裝Linux變雙系統。 安裝Linux前的準備&#xff1a; 1、電腦上分出空閑的…

OSGi:簡介

為基于Java的系統創建的OSGi提供了模塊化系統的框架。 OSGi使得可以定義每個單獨模塊與其他模塊的依賴關系&#xff0c;并使用戶可以控制生命周期并動態更改系統的每個組件。 OSGi是一個規范&#xff0c;最常見的實現可以算作Equinox &#xff0c; Apache Felix和Knoplerfish 。…

一起動手打造個人娛樂級linux

我們使用電腦&#xff0c;一直以來用的都是windows&#xff0c;但是對于像我這種愛折騰的人來說&#xff0c;嘗試使用linux系統應該是一種不錯的體驗。說到linux&#xff0c;許多人可能都沒聽過&#xff0c;或者知道的人對它印象是這樣的&#xff1a; 然而&#xff0c;linux發展…