Can someone plz tell me how to be able to take any given variable and use it's 'constructor' property to be able to create new instances of whatever type of variable it is?

I have a simple ActionScript sequence that should be able to do what I am asking, but for some reason, it doesn't. Here is the sequence:

Actionscript Code:
//File:Fruit.as

class Fruit extends Object{

    private var apples:Number = 0;
    private var oranges:Number = 0;

    public function Fruit(a:Number, o:Number){
        apples = a;
        oranges = o;
    }
   
    public function TraceMe():Void {
        trace("There are " + apples + " Apples, and " + oranges + " Oranges in the fruit basket.");
    }
}



//First frame of FLA file.

import Fruit;

var BasketOne:Fruit = new Fruit(13, 11);

//These are the lines that aren't working right.
var BasketOne_Class = BasketOne.constructor;
var BasketTwo = new BasketOne_Class(20, 15);
//End of lines that aren't working.

BasketTwo.TraceMe();

The function should create a trace that says: "There are 20 Apples, and 15 Oranges in the fruit basket.", but no trace is created at all, let alone the correct one.

As you can see, BasketOne_Class is supposed to be the constructor for whatever class BasketOne belongs to (in this case my home-made 'Fruit' class). By declaring BasketTwo a new instance of BasketOne_Class, BasketTwo should therefore be a new instance of Fruit, with 20 and 15 assigned to the appropriate variables, and of course, the TraceMe function included.

So why isn't it working?