<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FClass%2FInheritance</id>
		<title>Flash / Flex / ActionScript/Class/Inheritance - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FClass%2FInheritance"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Class/Inheritance&amp;action=history"/>
		<updated>2026-04-04T07:23:11Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Class/Inheritance&amp;diff=4406&amp;oldid=prev</id>
		<title> в 09:19, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Class/Inheritance&amp;diff=4406&amp;oldid=prev"/>
				<updated>2010-05-26T09:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:19, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Class/Inheritance&amp;diff=4407&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Class/Inheritance&amp;diff=4407&amp;oldid=prev"/>
				<updated>2010-05-26T08:14:45Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add new method to the children class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
        var bInstance = new B(  );&lt;br /&gt;
        bInstance.m();       // Displays: Method m(  ) was called&lt;br /&gt;
        bInstance.n();       // Displays: Method n(  ) was called&lt;br /&gt;
        trace(bInstance.v);  // Displays: 10&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class A {&lt;br /&gt;
  public var v = 10;&lt;br /&gt;
  public function m (  ) {&lt;br /&gt;
    trace(&amp;quot;Method m(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
  public function n (  ) {&lt;br /&gt;
    trace(&amp;quot;Method n(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
Method m(  ) was called&lt;br /&gt;
Method n(  ) was called&lt;br /&gt;
10&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A Primer on Inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
&lt;br /&gt;
        var aInstance = new A(  );&lt;br /&gt;
        aInstance.m();       // Displays: Method m(  ) was called&lt;br /&gt;
        trace(aInstance.v);  // Displays: 10&lt;br /&gt;
        var bInstance:B = new B(  );&lt;br /&gt;
        bInstance.m();       // Displays: Method m(  ) was called&lt;br /&gt;
        trace(bInstance.v);  // Displays: 10&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class A {&lt;br /&gt;
  public var v = 10;&lt;br /&gt;
  public function m (  ) {&lt;br /&gt;
    trace(&amp;quot;Method m(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
}&lt;br /&gt;
Method m(  ) was called&lt;br /&gt;
10&lt;br /&gt;
Method m(  ) was called&lt;br /&gt;
10&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Call super constructor with parameter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Ball {&lt;br /&gt;
  private var r;&lt;br /&gt;
  public function Ball (radius) {&lt;br /&gt;
    r = radius;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class ColoredBall extends Ball {&lt;br /&gt;
  private var c;&lt;br /&gt;
  public function ColoredBall (radius, color) {&lt;br /&gt;
    super(radius);&lt;br /&gt;
    c = color;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Class Scope: Code placed at the top-level of a class body resides in that class&amp;quot;s scope.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  public class SomeClass {&lt;br /&gt;
    // Code here is in the someClass scope&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
package {&lt;br /&gt;
  public class SomeClass extends SomeParentClass {&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
package {&lt;br /&gt;
  public class SomeParentClass {&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Constructor Methods in Subclasses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class A {&lt;br /&gt;
  public function A (  ) {&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
  public function B (  ) {&lt;br /&gt;
    // Invoke superclass&amp;quot;s constructor method&lt;br /&gt;
    super(  );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Extends the super class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
class ClassName extends SuperClassName {&lt;br /&gt;
  // Class definition goes here.&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
        var rBunny:Rabbit = new Rabbit(&amp;quot;William&amp;quot;, &amp;quot;White and Brown&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        trace(rBunny.name);  // Displays: William&lt;br /&gt;
        trace(rBunny.coloration);  // Dislays: White and Brown&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Mammal {&lt;br /&gt;
  var _sName:String;&lt;br /&gt;
  public function get name():String {&lt;br /&gt;
    return _sName;&lt;br /&gt;
  }&lt;br /&gt;
  public function set name(sName:String):void {&lt;br /&gt;
    _sName = sName;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Rabbit extends Mammal {&lt;br /&gt;
  public var _sColoration:String;&lt;br /&gt;
  public function Rabbit(sName:String, sColoration:String) {&lt;br /&gt;
    _sName = sName;&lt;br /&gt;
    _sColoration = sColoration;&lt;br /&gt;
  }&lt;br /&gt;
  public function get coloration():String {&lt;br /&gt;
    return _sColoration;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==If a subclass does not define a constructor, ActionScript automatically creates one and adds a super call as its only statement.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
class B extends A {&lt;br /&gt;
  public function B (  ) {&lt;br /&gt;
    super(  );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Rectangle {&lt;br /&gt;
  protected var w = 0;&lt;br /&gt;
  protected var h = 0;&lt;br /&gt;
  public function Rectangle (width, height) {&lt;br /&gt;
    setSize(width, height);&lt;br /&gt;
  }&lt;br /&gt;
  public function setSize (newW, newH) {&lt;br /&gt;
    w = newW;&lt;br /&gt;
    h = newH;&lt;br /&gt;
  }&lt;br /&gt;
  public function getArea (  ) {&lt;br /&gt;
    return w * h;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Square extends Rectangle {&lt;br /&gt;
  public function Square (side) {&lt;br /&gt;
    super(side, side);&lt;br /&gt;
  }&lt;br /&gt;
  override public function setSize (newW, newH) {&lt;br /&gt;
    if (newW == newH) {&lt;br /&gt;
      super.setSize(newW, newH);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Static Methods and Static Variables Not Inherited==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
        var bInstance = new B(  );&lt;br /&gt;
        bInstance.s(); // Error&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class A {&lt;br /&gt;
  public static function s (  ) {&lt;br /&gt;
    trace(&amp;quot;A.s(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
  public function B (  ) {&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Three-level inheritance==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
        var cInstance = new C(  );&lt;br /&gt;
        cInstance.m();  // Displays: Method m(  ) was called&lt;br /&gt;
        cInstance.n();  // Displays: Method n(  ) was called&lt;br /&gt;
        cInstance.o();  // Displays: Method o(  ) was called&lt;br /&gt;
        trace(cInstance.v);  // Displays: 10&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class A {&lt;br /&gt;
  public var v = 10;&lt;br /&gt;
  public function m (  ) {&lt;br /&gt;
    trace(&amp;quot;Method m(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class B extends A {&lt;br /&gt;
  public function n (  ) {&lt;br /&gt;
    trace(&amp;quot;Method n(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class C extends B {&lt;br /&gt;
  public function o (  ) {&lt;br /&gt;
    trace(&amp;quot;Method o(  ) was called&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==You can call the superclass implementation from the subclass implementation using the super keyword to reference the superclass:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    class Superclass {&lt;br /&gt;
        public function Superclass(  ) {}&lt;br /&gt;
        public function toString(  ):String {&lt;br /&gt;
            return &amp;quot;Superclass.toString(  )&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    class Subclass extends Superclass {&lt;br /&gt;
        public function Subclass(  ) {}&lt;br /&gt;
        override public function toString(  ):String {&lt;br /&gt;
            super.toString();&lt;br /&gt;
            return &amp;quot;Subclass.toString(  )&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>