Skip to content
kazuho edited this page Jun 26, 2012 · 1 revision
  • abstract functions may have body (like C++)

  • functions overriding a function should have the "override" attribute set

  • abstract variables can be defined

    • requires the child classes or implementing classes to implement the member

    • non-abstrcat variable definitions should not have the "override" attribute set

  • classes can have abstract or concrete functions / variables

  • interfaces may have abstract functions (without body) or abstract variables

  • mixins can have anything that a class may have

  • "class E extends A implements C, D" means:

    • C can override members of A (*1)

    • D can override members of the production of *1 (*2)

    • E can override members of the production of *2

as an example, see t/run/048.interface-with-abstract-var.jsx

Clone this wiki locally