June 26, 2002 - Defining a Polymorphic Function
June 26, 2002 Defining a Polymorphic Function Tips: June 2002
Yehuda Shiran, Ph.D.
|
Object
. All types are derived from Object
, so you can pass an integer, a double, and an object of any class to an argument of type Object
.
The function WriteNameValue()
accepts a name and a value as parameters, and prints them. The name is a string and the value is defined of type Object
. In this way, the value parameter can be substituted with any type. The implementation of this utility function is based on the system's polymorphic method, ToString()
. You can write your own implementation, making sure you handle each and every type correctly. Here is the code:
// compile with: jsc writename.js
function WriteNameValue(name : String, value : Object) : void {
print(name + value.ToString());
}
var o : Object = new Object();
var i : int = 9;
var d : double = 5.8;
var b : Base = new Base();
WriteNameValue("o: ", o);
WriteNameValue("i: ", i);
WriteNameValue("d: ", d);
WriteNameValue("b: ", b);
class Base {
protected var i : int = 5;
public function ToString() : String {
print("i is " + i);
return("foo");
}
}
To learn more about JScript .NET, go to Column 111, JScript .NET, Part V: Polymorphism.