um… look at this, assuming overloading IS supported:
class MyClass
{
var string_var = "default string";
var num_var = 42; // default number
// constructor, takes in string:
function MyClass ( argument:String )
{
string_var = argument;
}
// constructor, takes in number:
function MyClass ( argument:Number )
{
num_var = argument;
}
}
MyInstance = new MyClass( 'overloading?' );
trace ( MyInstance.num_var ) // traces '42'
… what happened above is, when the MyClass constructor function was called and given a string, that argument is stored in the string variable, and num_vars’s value remained the same… you see the point?
The way around it is this:
class MyClass
{
var string_var = "default string";
var num_var = 42; // default number
// constructor
function MyClass ( argument)
{
if ( typeof(argument) == String ) string_var = argument;
else if ( typeof(argument) == Number ) num_var = argument;
}
}
[size=1]again, im not good at explaining things ;(… lost?[/size]