freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

抽象類和接口ppt課件(已修改)

2025-01-17 11:51 本頁(yè)面
 

【正文】 第 10章 抽象類和接口 引言 抽象類 日歷類 Calendar和公歷類 GregorianCanlendar 接口 將基本數(shù)據(jù)類型值處理為對(duì)象 基本類型和包裝類之間的自動(dòng)轉(zhuǎn)換 引言 抽象類:將父類設(shè)計(jì)得非常抽象,讓它包含所有子類的共同屬性、方法,以至于它沒有具體的實(shí)例。 接口:實(shí)現(xiàn)多重繼承 抽象類 ? 存在意義 – 抽象類是類層次中較高層次的概括,抽象類的作用是讓其他類來(lái)繼承它的抽象化的特征 – 抽象類中可以包括被它的所有子類共享的公共行為 – 抽象類中可以包括被它的所有子類共享的公共屬性 – 在程序中不能用抽象類作為模板來(lái)創(chuàng)建對(duì)象; – 在用戶生成實(shí)例時(shí)強(qiáng)迫用戶生成更具體的實(shí)例,保證代碼的安全性 ? 抽象類的格式 abstract class 類名 { … } ? 抽象方法的語(yǔ)法形式為 abstract returnType methodName(...)。 ? 抽象方法的優(yōu)點(diǎn) – 隱藏具體的細(xì)節(jié)信息,所有的子類使用的都是相同的方法頭,其中包含了調(diào)用該方法時(shí)需要了解的全部信息 – 強(qiáng)迫子類完成指定的行為,規(guī)定其子類需要用到的“標(biāo)準(zhǔn)”行為 – 通用程序設(shè)計(jì)(一般程序設(shè)計(jì)) 例 1 問:抽象類 GeometricObject中的抽象方法可否刪除? ? 各種圖形都需要實(shí)現(xiàn)繪圖方法 , 可在抽象父類中聲明一個(gè) draw抽象方法 abstract class GraphicObject { int x, y。 void moveTo(int X, int Y) { . . . } abstract void draw()。 } ? 然后在每一個(gè)子類中重寫 draw方法,例如: class Circle extends GraphicObject { void draw() { . . . } } class Rectangle extends GraphicObject { void draw() { . . . } } public class Test{ public static void main(…){ GraphicObject ob1=Cirlce()。 GraphicObject ob2=Cirlce()。 ()。 ()。 } } 例 2 ? 將所有圖形的公共屬性及方法抽象到抽象類 Shape。再將 2D及 3D對(duì)象的特性分別抽取出來(lái),形成兩個(gè)抽象類TwoDimensionalShape及 ThreeDimensionalShape – 2D圖形包括 Circles、 Triangles、 Rectangles和 Squares – 3D圖形包括 Cube、 Sphere、或 Tetrahedron – 在 UML中,抽象類的類名為 斜體 ,以與具體類相區(qū)別 Shape Circle Triangle Rectangle Square TwoDimensionalShape ThreeDimensionalShape Cube Sphere Tetrahedron 例 3 Loan Lease Mortgage HouseLoan CarLoan ? 貸款 (Loan)分為許多種類,如租借 (Lease)、 抵押(Mortgage)、 房屋貸款 (HouseLoan)、 汽車貸款 (CarLoan)等 ? 將 Loan聲明為抽象類,并指定所有的子類對(duì)象都應(yīng)具有的行為,如計(jì)算月還款值 (calculateMonthlyPayment), 還款(makePayment), 取得客戶信息 (getClientInfo), 其中前兩個(gè)因貸款種類不同計(jì)算方法也不同,可聲明為抽象方法,Loan的所有子類都必須對(duì)這兩個(gè)抽象方法進(jìn)行重寫 public abstract class Loan { public abstract float calculateMonthlyPayment()。 public abstract void makePayment(float amount)。 public Client getClientInfo() { } } 例 4 ? 注意 : – 1 抽象類前需加修飾符 abstract – 2 不能使用 new方法進(jìn)行實(shí)例化 ,故,抽象類必須被繼承 – 3 抽象類可包含常規(guī)類能夠包含的 任何東西 ,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1