Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/43311
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor陳俊良(Chuen-Liang Chen)
dc.contributor.authorChi-Chia Yangen
dc.contributor.author楊騏嘉zh_TW
dc.date.accessioned2021-06-15T01:48:49Z-
dc.date.available2011-07-30
dc.date.copyright2009-07-30
dc.date.issued2009
dc.date.submitted2009-07-06
dc.identifier.citation[1] James Gosling, Bill Joy and Guy Steele, The Java Language Specification, Second Edition, Addison-Wesley, 2000.
[2] Ken Arnold, James Gosling, David Holmes, JavaTM Programming Language, Third Edition, Addison-Wesley, 2000.
[3] James Gosling, Bill Joy and Guy Steele and Gilad Bracha, The Java Language Specification, Third Edition, Addison-Wesley, 2005.
[4] Ken Arnold, James Gosling, David Holmes, JavaTM Programming Language, Fourth Edition, Addison-Wesley, 2005.
[5] Sun Microsysyems, Java Community Process, Java Specification Requests : Extending the JavaTM Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import.
http://jcp.org/en/jsr/detail?id=201.
[6] Sun Microsysyems, Java Programming Language Enumeration, 2004.
http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html.
[7] Tim Lindholm and Frank Yellin, The Java Virtual Machine Specification, Second Edition, Addison-Wesley Professional, 1999.
[8] Sun Microsystems, Java Virtual Machine, JDKTM 6 Documentation, Virtual Machine, http://java.sun.com/javase/6/docs/technotes/guides/vm/index.html.
[9] Sun Microsystems, The JavaTM Programming Language Compiler, Javac.
http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html
[10] Joshua Bloch, Effective Java, First Edition, Addison-Wesley, June 2001.
[11] Microsoft, Visual C# developer center, MSDN.
http://msdn.microsoft.com/en-us/library/sbbt4032(VS.80).aspx .
[12] Paul A. Cairns, “Enumerated Types in Java,” School of Computing Science, Middlesex University, The Burroughs, Hendon, London, NW4 4BT, 1999.
[13] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, First Edition, Addison-Wesley, 1995.
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/43311-
dc.description.abstractJava 1.5加入許多新功能,包含enumeration。Java內部將enumeration做成class的形式,使得其constants就為instances,有著更強大的支援,附帶有variable、method等功能,不再只是單純的數字。但在class的條件之下,enumeration卻不行使用繼承的用法,以致與Java的核心概念有所衝突。因此本論文試著提出可繼承的Java enumeration,讓enumeration更為彈性,並且可在不更動Virtual Machine的前提之下能夠執行。zh_TW
dc.description.abstractJava 1.5 adds many new features, including enumeration. It implements enumeration as class. It translates enumeration constants into class instances, so that an enumeration constant is not a pure number. Now, enumeration constant has variables and methods, and it is more powerful. However, inheritance between enumeration is not allowed in Java 1.5.This violates the kernel principle of object-oriented concept. In this thesis, we try to resolve this problem. Under the condition of not changing Java virtual machine, we try to make Java enumeration be inheritable.en
dc.description.provenanceMade available in DSpace on 2021-06-15T01:48:49Z (GMT). No. of bitstreams: 1
ntu-98-R96922019-1.pdf: 1319345 bytes, checksum: 4d067a5e508b5769f8b215c1cb5b88e7 (MD5)
Previous issue date: 2009
en
dc.description.tableofcontents致謝 i
中文摘要 ii
Abstract iii
圖目錄 vi
表目錄 vii
1. 簡介 1
1.1 研究動機 1
1.2 Enumeration繼承的必要性 1
1.3 目標 3
1.4 論文架構 4
2. 背景知識 5
2.1 C enumeration 5
2.2 C# enumeration 6
2.3 Java1.5之前的Enumeration 8
2.4 Java的class enumeration 10
2.5 Assignability問題 12
2.6 Java 1.5 enumeration結構 15
2.7 Enumeration比較 20
2.8 Java 編譯器 23
2.8.1 Parser 階段的 Enumeration 25
2.8.2 Enter 階段的 Enumeration 26
2.8.3 Desugar 階段的 Enumeration 26
2.8.4 Enumeration Switch 28
3 問題與策略 31
3.1 語言設計 31
3.1.1 Bottom up 表示法 32
3.1.2 Top down 表示法 32
3.2 Desugar 處理Assignability 33
3.2.1 四種desuagar方法 33
3.2.2 Desugar 方法結論 36
3.2.3 方法A在編譯階段的問題 37
4 實作 38
4.1 可繼承的 Enumeration 38
4.1.1 修改文法 38
4.1.2 Constructor 40
4.1.3 Constants and Instances 43
4.1.4 Methods 44
4.2 Assignability 48
4.2.1 不合法的Assignment 48
4.2.2 合法的Assignment 49
4.3 Switch 問題 51
5 結論與未來工作 52
5.1 結論 52
5.2 未來工作 53
5.2.1 多重繼承 53
5.2.2 有交集的多重繼承 54
參考文獻 56
dc.language.isozh-TW
dc.subjectEnumzh_TW
dc.subjectJAVAzh_TW
dc.subject物件zh_TW
dc.subject列舉zh_TW
dc.subject繼承zh_TW
dc.subject編譯器zh_TW
dc.subjectclasszh_TW
dc.subjectJAVAen
dc.subjectinstanceen
dc.subjectEnumen
dc.subjectclassen
dc.subjectcompileren
dc.subjectenumerationen
dc.subjectinheritanceen
dc.title可繼承的JAVA列舉zh_TW
dc.titleInheritable Java Enumerationen
dc.typeThesis
dc.date.schoolyear97-2
dc.description.degree碩士
dc.contributor.oralexamcommittee李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan)
dc.subject.keyword列舉,JAVA,繼承,編譯器,class,Enum,物件,zh_TW
dc.subject.keywordenumeration,JAVA,inheritance,compiler,class,Enum,instance,en
dc.relation.page58
dc.rights.note有償授權
dc.date.accepted2009-07-06
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-98-1.pdf
  未授權公開取用
1.29 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved