User Guide
Statements 209
The following example instantiates a Car object, calls a method that is defined in the Vehicle
class (
start()), then calls the method that is overridden by the Car class (stop()), and
finally calls a method from the Car class (
activateCarAlarm()):
var myNewCar:Car = new Car(2, "Red", true);
myNewCar.start(); // output: [Vehicle] start
myNewCar.stop(); // output: [Car] stop with anti-lock brakes
myNewCar.activateCarAlarm(); // output: [Car] activateCarAlarm
A subclass of the Vehicle class can also be written by using the keyword super, which the
subclass can use to access properties and methods of the superclass. The following example
shows a third AS file, called Truck.as, again in the same directory. The Truck class uses the
super keyword in the constructor and again in the overridden reverse() function.
class Truck extends Vehicle {
var numWheels:Number;
function Truck(param_numDoors:Number, param_color:String,
param_numWheels:Number) {
super(param_numDoors, param_color);
this.numWheels = param_numWheels;
}
function reverse():Void {
beep();
super.reverse();
}
function beep():Void {
trace("[Truck] make beeping sound");
}
}
The following example instantiates a Truck object, calls a method overridden by the Truck
class (
reverse()), and then calls a method defined in the Vehicle class (stop()):
var myTruck:Truck = new Truck(2, "White", 18);
myTruck.reverse(); // output: [Truck] make beeping sound [Vehicle] reverse
myTruck.stop(); // output: [Vehicle] stop
See also
class statement