Monkey Documentation

Keyword Abstract

Declares method as Abstract.

Syntax

Method Identifier: ReturnType ( Parameters ) [ Property ] [ Abstract ] [ Final ] Statements... End [ Method ]

Description

The Abstract keyword declares that a method must be implemented by extending classes. An abstract method also implies that the container class is abstract; this means that objects cannot be created from the resulting abstract class. Objects may only be created from classes that a) extend this class and b) implement the abstract method.

See also

Method | Property
Language reference (Methods)

Examples

In this example, Enemy contains an abstract method. This means that objects cannot be created from the Enemy class directly, because there is no specific definition for its Die method; we must first extend the class (see Hoodlum and Alien) and implement the abstract 'Die' method in each extending class.

Class Enemy
    Method Die () Abstract
End

Class Hoodlum Extends Enemy

    ' Must implement Die method...

    Method Die ()
        Print "B'oss, he-- he killed me, b'oss!"
    End

End

Class Alien Extends Enemy

    ' Must implement Die method...

    Method Die ()
        Print "X'll #hyep, g''ta!! Boss'yap!"
    End

End

Function Main ()

    ' Not allowed...

' Local e:Enemy = New Enemy

    Local h:Hoodlum = New Hoodlum
    h.Die

    Local a:Alien = New Alien
    a.Die

End