June 11, 2002 - Extending Abstract Classes | WebReference

June 11, 2002 - Extending Abstract Classes

Yehuda Shiran June 11, 2002
Extending Abstract Classes
Tips: June 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

The following example demonstrates the use of abstract classes. The polygon class is a generic class for all types of polygons. We define it as an abstract class because we want the implementation to be provided by the rectangle and square classes that extend the polygon class:

  abstract class polygon {
    abstract function printCharacteristic();
  }
  class rectangle extends polygon {
    function printCharacteristic() {
      print("All my angles are 90 degrees and my opposite sides are equal");
    }
  }
  class square extends polygon {
    function printCharacteristic() {
      print("All my angles are 90 degrees and all my sides are equal");
    }
  }
Let's define now two variables, shape1 and shape2, of type polygon, and instantiate them with the new operator:

  var shape1 : polygon = new rectangle;
  var shape2 : polygon = new square;
Let's print now their respective characteristics:

  shape1.printCharacteristics();
  shape2.printCharacteristics();
You should get the following statements:

  All my angles are 90 degrees and my opposite sides are equal
  All my angles are 90 degrees and all my sides are equal
To learn more about JScript .NET, go to Column 110, JScript .NET, Part IV: Inheritance.