Manipulating Data with ActionScript in Flex Applications - Inheritance
(Page 5 of 5 )
You can create new classes (called subclasses) that inherit from existing classes (called superclasses). You achieve this using the extends keyword when declaring the class. The extends keyword should follow the class name and be followed by the class from which you want to inherit. The following defines classB, so it inherits from a fictional class,A:
package com.example{
import com.example.A;
public class B extends A {
}
}
ActionScript 3.0 allows a class to inherit from just one superclass. The subclass inherits the entire implementation of the superclass, but it can access only properties and methods declared aspublicorprotected. Properties that are declared asprivateand methods are never accessible outside a class—not even to subclasses. Classes in the same package can access properties declared asinternal. Consider the classAand classBexample, ifAis defined as follows:
package com.example {
public class A {
private var _one:String;
protected var _two:String;
public function A() {
initialize();
}
private function initialize():void {
_one = "one";
_two = "two";
}
public function run():void {
trace("A");
}
}
}
In this example,B(which is defined as a subclass ofA) can access_twoandrun(), but it cannot access_oneorinitialize().
If a subclass wants to create its own implementation for a method that it inherits from a superclass, it can do so by overriding it. Normally, a subclass blindly inherits all of the superclass implementation. However, when you override a method, you tell the subclass that it should disregard the inherited implementation and use the overridden implementation instead. To override a method, you must use theoverridekeyword in the method declaration; the following overrides therun()method:
package com.example {
import com.example.A;
public class B extends A {
override public function run():void{
trace("B");
}
}
}
When a subclass overrides a superclass method, the subclass method’s signature must be identical to the superclass method’s signature, i.e., the parameters, return type, and access modifier must be the same.
Please check back next week for the continuation of this article.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
|
This article is excerpted from chapter four of the book Programming Flex 2, written by Chafic Kazoun and Joey Lott (O'Reilly, 2007; ISBN: 059652689X). Check it out today at your favorite bookstore. Buy this book now.
|
|