Extending FeatherTrait Java']Java with Interfaces

被引:7
|
作者
Liquori, Luigi [1 ]
Spiwack, Arnaud [2 ]
机构
[1] INRIA Sophia Antipolis Mediterranee, FR-06902 Sophia Antipolis, France
[2] Ecole Normale Super, F-94235 Cachan, France
关键词
object-oriented language design; inheritance; types;
D O I
10.1016/j.tcs.2008.01.051
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In the context of Featherweight Java by Igarashi, Pierce, and Wadler, and its recent extension FeatherTrait Java (FTJ) by the authors, we investigate classes that can be extended with trait composition. A trait is a collection of methods, i.e., behaviors without state; it can be viewed as an "incomplete stateless class" i.e., an interface with some already written behavior. Traits can be composed in any order, but only make sense when "imported" by a class that provides state variables and additional methods to disambiguate conflicting names arising between the imported traits. We introduce FeatherTrait Java with Interfaces (iFTJ), where traits need to be typechecked only once, which is necessary for compiling them in isolation, and considering them as regular types, like Java-interfaces with a behavioral content. (C) 2008 Elsevier B.V. All rights reserved.
引用
收藏
页码:243 / 260
页数:18
相关论文
共 50 条
  • [1] FeatherTrait: A modest extension of Featherweight Java']Java
    Liquori, Luigi
    Spiwack, Arnaud
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (02):
  • [2] On extending Java']Java
    Krall, A
    Vitek, J
    [J]. MODULAR PROGRAMMING LANGUAGES, 1997, 1204 : 321 - 335
  • [3] Java']JavaGI: Generalized interfaces for Java']Java
    Wehr, Stefan
    Lammel, Ralf
    Thiemann, Peter
    [J]. ECOOP 2007 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2007, 4609 : 347 - +
  • [4] Computing interfaces in Java']Java
    Huchard, M
    Leblanc, H
    [J]. FIFTEENTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 317 - 320
  • [5] Extending the deployment of Java']Java platform
    不详
    [J]. CONTROL AND INSTRUMENTATION, 1999, 31 (02): : 23 - 23
  • [6] Testing Java']Java interfaces with JUnit
    Albrecht, M
    [J]. DR DOBBS JOURNAL, 2003, 28 (02): : 24 - +
  • [7] Interfaces First (and Foremost) With Java']Java
    Sivilotti, Paolo A. G.
    Lang, Matthew
    [J]. SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2010, : 515 - 519
  • [8] Extending operational semantics of the Java']Java bytecode
    Czarnik, Patryk
    Schubert, Aleksy
    [J]. TRUSTWORTHY GLOBAL COMPUTING, 2008, 4912 : 57 - 72
  • [9] Expanding and extending the security features of Java']Java
    Mehta, NV
    [J]. PROCEEDINGS OF THE SEVENTH USENIX SECURITY SYMPOSIUM, 1998, : 159 - 172
  • [10] A Formalism for Specification of Java']Java API Interfaces
    Ancona, Davide
    Dagnino, Francesco
    Franceschini, Luca
    [J]. COMPANION PROCEEDINGS FOR THE ISSTA/ECOOP 2018 WORKSHOPS, 2018, : 24 - 26