Flash CS3 Documentation |
|||
| ActionScript 2.0 Language Reference > ActionScript language elements > Statements > intrinsic statement | |||
intrinsic class className [extends superClass] [implements interfaceName [, interfaceName...] ] {
//class definition here
}
Allows compile-time type checking of previously defined classes. Flash uses intrinsic class declarations to enable compile-time type checking of built-in classes such as Array, Object, and String. This keyword indicates to the compiler that no function implementation is required, and that no bytecode should be generated for it.
The intrinsic keyword can also be used with variable and function declarations. Flash uses this keyword to enable compile-time type checking for global functions and properties.
The intrinsic keyword was created specifically to enable compile-time type checking for built-in classes and objects, and global variables and functions. This keyword was not meant for general purpose use, but may be of some value to developers seeking to enable compile-time type checking with previously defined classes, especially if the classes are defined using ActionScript 1.0.
This keyword is supported only when used in external script files, not in scripts written in the Actions panel.
Availability: ActionScript 2.0; Flash Player 6
The following example shows how to enable compile-time file checking for a previously defined ActionScript 1.0 class. The code will generate a compile-time error because the call myCircle.setRadius() sends a String value as a parameter instead of a Number value. You can avoid the error by changing the parameter to a Number value (for example, by changing "10" to 10).
// The following code must be placed in a file named Circle.as
// that resides within your classpath:
intrinsic class Circle {
var radius:Number;
function Circle(radius:Number);
function getArea():Number;
function getDiameter():Number;
function setRadius(param_radius:Number):Number;
}
// This ActionScript 1.0 class definition may be placed in your FLA file.
// Circle class is defined using ActionScript 1.0
function Circle(radius) {
this.radius = radius;
this.getArea = function(){
return Math.PI*this.radius*this.radius;
};
this.getDiameter = function() {
return 2*this.radius;
};
this.setRadius = function(param_radius) {
this.radius = param_radius;
}
}
// ActionScript 2.0 code that uses the Circle class
var myCircle:Circle = new Circle(5);
trace(myCircle.getArea());
trace(myCircle.getDiameter());
myCircle.setRadius("10");
trace(myCircle.radius);
trace(myCircle.getArea());
trace(myCircle.getDiameter());
Flash CS3