請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/43311完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 陳俊良(Chuen-Liang Chen) | |
| dc.contributor.author | Chi-Chia Yang | en |
| dc.contributor.author | 楊騏嘉 | zh_TW |
| dc.date.accessioned | 2021-06-15T01:48:49Z | - |
| dc.date.available | 2011-07-30 | |
| dc.date.copyright | 2009-07-30 | |
| dc.date.issued | 2009 | |
| dc.date.submitted | 2009-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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/43311 | - |
| dc.description.abstract | Java 1.5加入許多新功能,包含enumeration。Java內部將enumeration做成class的形式,使得其constants就為instances,有著更強大的支援,附帶有variable、method等功能,不再只是單純的數字。但在class的條件之下,enumeration卻不行使用繼承的用法,以致與Java的核心概念有所衝突。因此本論文試著提出可繼承的Java enumeration,讓enumeration更為彈性,並且可在不更動Virtual Machine的前提之下能夠執行。 | zh_TW |
| dc.description.abstract | Java 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.provenance | Made 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.iso | zh-TW | |
| dc.subject | Enum | zh_TW |
| dc.subject | JAVA | zh_TW |
| dc.subject | 物件 | zh_TW |
| dc.subject | 列舉 | zh_TW |
| dc.subject | 繼承 | zh_TW |
| dc.subject | 編譯器 | zh_TW |
| dc.subject | class | zh_TW |
| dc.subject | JAVA | en |
| dc.subject | instance | en |
| dc.subject | Enum | en |
| dc.subject | class | en |
| dc.subject | compiler | en |
| dc.subject | enumeration | en |
| dc.subject | inheritance | en |
| dc.title | 可繼承的JAVA列舉 | zh_TW |
| dc.title | Inheritable Java Enumeration | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 97-2 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 李秀惠(Hsiu-Hui Lee),甘宗左(Tsung-Tso Kan) | |
| dc.subject.keyword | 列舉,JAVA,繼承,編譯器,class,Enum,物件, | zh_TW |
| dc.subject.keyword | enumeration,JAVA,inheritance,compiler,class,Enum,instance, | en |
| dc.relation.page | 58 | |
| dc.rights.note | 有償授權 | |
| dc.date.accepted | 2009-07-06 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-98-1.pdf 未授權公開取用 | 1.29 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
