网站大量收购独家精品文档,联系QQ:2885784924

抽象类别与介面.pdf

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抽象类别与介面

第 章 12 抽象類別與介面 著作權所有© 旗標出版股份有限公司 本章重點 12-1 抽象類別(Abstract Class) 12-2 介面( Interface) 12-3 介面的繼承 12-4 綜合演練 2 12 - 1 抽象類別(Abstract Class) 回頭看看上一章中提到多層的繼承時, 所與的 圖形類別範例, 在Shape 、Circle 、Cylinder 、 Rectangle 這幾個類別中, Shape 這個類別其 實並未被主程式用到, 而其存在的目的只是為 了讓整個繼承結構更完善。 實際上Shape 只是一個抽象的概念, 程式中並 不會有Shape 的物件, 而只會使用它的衍生類 別如Circle 、Rectangle 等, 來建立物件。 因此, 我們需要一種方法, 可以讓類別的使用者 知道, Shape 這個類別並不能用來產生物件。 3 抽象類別(Abstract Class) 12-1-1 甚麼是抽象類別? 12-1-2 抽象方法(Abstract Method) 12-1-3 抽象類別、抽象方法與繼承關係 4 12-1-1 甚麼是抽象類別? 為了解決上述的問題, Java 提供抽象類別 (Abstract Class) 的機制, 其用途即是讓我們 標註某個類別僅是抽象的概念, 不應該用以產 生物件。 只要在類別的名稱之前加上abstract存取控制 字符, 該類別就會成為抽象類別, Java編譯器將 會禁止任何產生此物件的動作。 舉例來說, 在上述的範例中, Shape 類別就很適 合更改為抽象類別, 因為這此類別不代表具體 的物件, 真正的物件必須由其子類別產生。因 此, 程式就可以改成這樣: 5 甚麼是抽象類別? 由於抽象類別不能建立物件, 因此只要程式中 有任何地方想要建立抽象類別的物件, 在編譯 時, 就會出現錯誤, 例如以下的範例: 6 甚麼是抽象類別? 7 甚麼是抽象類別? 如上所示, 一旦在類別定義前加上abstract 將 其宣告為抽象類別後, 在程式中要建立該類別 的物件就會被視為錯誤。 8 12-1-2 抽象方法 (Abstract Method) 同樣的道理, 在上一章所舉的計算地價的程式 範例中, Land 類別也可視為是一個抽象的概念, 表示某種形狀的土地, 真正能用來計算地價時, 都是使用其子類別Circle 、Square 等所建立 的物件。因此, Land 也是標註為抽象類別的好 對象: 9 抽象方法(Abstr

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档