topical media & game development

talk show tell print

professional-javascript-04-xbObjectsExample2.htm / htm



  <html>
  <head>
  <title>Example</title>
          <script type="text/javascript" src="xbObjects.js"></script>
  </head>
  <body>
  <script type="text/javascript">
  
  _classes.registerClass("Polygon");
  
  function Polygon(iSides) {
      
      _classes.defineClass("Polygon", prototypeFunction);
  
      this.init(iSides);
      
      function prototypeFunction() {
      
          Polygon.prototype.init = function(iSides) {
              this.parentMethod("init");
              this.sides = iSides;            
          };
      
          Polygon.prototype.getArea = function () {
              return 0;
          };    
      
      }
  }
  
  _classes.registerClass("Triangle", "Polygon");
  
  function Triangle(iBase, iHeight) {
  
      _classes.defineClass("Triangle", prototypeFunction);
      
      this.init(iBase,iHeight);
      
      function prototypeFunction() {
          Triangle.prototype.init = function(iBase, iHeight) {
              this.parentMethod("init", 3);
              this.base = iBase;
              this.height = iHeight;
          };
          
          Triangle.prototype.getArea = function () {
              return 0.5 * this.base * this.height;
          };    
      }
      
  }
  
  _classes.registerClass("Rectangle", "Polygon");
  
  function Rectangle(iLength, iWidth) {
  
      _classes.defineClass("Rectangle", prototypeFunction);
      
      this.init(iLength, iWidth);
      
      function prototypeFunction() {
          Rectangle.prototype.init = function(iLength, iWidth) {
              this.parentMethod("init", 4);
              this.length = iLength;
              this.width = iWidth;
          }
      
         Rectangle.prototype.getArea = function () {
              return this.length * this.width;
         };    
          
      }
  }
  
  var triangle = new Triangle(12, 4);
  var rectangle = new Rectangle(22, 10);
  
  alert(triangle.sides);
  alert(triangle.getArea());
  
  alert(rectangle.sides);
  alert(rectangle.getArea());
  
  </script>
   
  </body>
  </html>
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.