June 30, 2002 - Implementing a Polymorphic Utility | WebReference

June 30, 2002 - Implementing a Polymorphic Utility

Yehuda Shiran June 30, 2002
Implementing a Polymorphic Utility
Tips: June 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

Polymorphism is easy to demonstrate using utility functions. Utility functions are like methods of the main program, or of the global object as it is sometimes called in other languages. You define a utility function in the main program section, before, after, or in between the class definitions. Our utility function, CopyMe(), accepts an object of type Object, and returns a copy of it by using the Copy() method. Here is the utility function:

  function CopyMe(ic : Object) : Object {
    return ic.Copy();
  }
The Copy() method is defined in the interface ICopyObj:

  interface ICopyObj {
    function Copy() : Object;
  }
The following two classes, CopyInt and CopyDouble, implement this interface for integer and double values, respectively:

  class CopyInt implements ICopyObj {
    public var i : int;
    public function CopyInt(i : int) {
      this.i = i;
    }
    public function Copy() : Object {
      return new CopyInt(i)
    }
  }
  class CopyDouble implements ICopyObj {
    public var d : double;
    public function CopyDouble(d : double) {
      this.d = d;
    }
    public function Copy() : Object {
      return new CopyDouble(d)
    }
  }
To learn more about JScript .NET, go to Column 111, JScript .NET, Part V: Polymorphism.