Topic: APLX Help : Help on APL language : System Functions & Variables : ⎕CLASS Class hierarchy for object or class
[ Previous | Next | Contents | Index | APL Home ]

www.microapl.co.uk

⎕CLASS Class hierarchy for object or class


Not implemented for System classes

The monadic system function ⎕CLASS returns a vector of references to the class hierarchy for an object (or a class). The right argument is an object reference or a class reference. The result is a vector of class references. The first element is a reference to the class of the object (or the class itself, if the right argument was a class reference). Subsequent elements are references to successive parent classes, if any.

For example, if the class Poem inherits from the class LiteraryWork, and Sonnet inherits from Poem:

      )CLASSES
LiteraryWork    Poem    Sonnet
     
       TwoLoves←⎕NEW Sonnet
      
       ⎕CLASS Poem           ⍝ Argument is a Class reference
{Poem} {LiteraryWork}
       ⎕CLASS Sonnet
{Sonnet} {Poem} {LiteraryWork}

       ⎕CLASS TwoLoves       ⍝ Argument is an Object reference
{Sonnet} {Poem} {LiteraryWork}
       (⎕CLASS TwoLoves).⎕CLASSNAME
 Sonnet Poem LiteraryWork

⎕CLASS can also be used for external classes. For example, the Ruby DateTime class inherits from Date which inherits from Object:

      DT←'ruby' ⎕SETUP 'require' 'Date'
      DT←'ruby' ⎕NEW 'DateTime'
      ⎕CLASS DT
{ruby:DateTime} {ruby:Date} {ruby:Object}

Topic: APLX Help : Help on APL language : System Functions & Variables : ⎕CLASS Class hierarchy for object or class
[ Previous | Next | Contents | Index | APL Home ]