Chapter Contents

Previous

Next
Object Class: _cast

Object Class: _cast



Performs a cast operation on an object variable


Syntax
Details

Syntax

return = objectName._cast( arg1 );

Argument Type Use Description
return Object Return
arg1 Character Input


Details

Because variables of a given class type X can contain instances whose class type is a subclass of X, the _cast method is needed to access the properties of such instances. For example, if you want to access methods that exist on a subclass, you would cast the variable containing the parent to the subclass:

/*Define box class */
box.scl
  class box;
endclass

/* Define redbox class with an additional method */
redbox.scl
  class redbox;
  rbmethod: method;
     put 'A method from a redbox';
  endmethod;
endclass;

/* An SCL entry casting a variable of type box     */
/* as a redbox, and then calling the redbox method */
X.scl
  init:
    dcl box b = _new_ redbox();
    dcl redbox rb;
    rb = b.cast('work.a.redbox');
    rb.rbmethod();
  return;

The X.scl entry will perform the cast and print 'A method from a redbox'. A failed cast will result in a program halt.


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.