Implement an Interface : interface « Class « Flash / Flex / ActionScript

Flash / Flex / ActionScript
1. Animation
2. Array
3. Class
4. Data Type
5. Development
6. Function
7. Graphics
8. Language
9. Network
10. Regular Expressions
11. Statement
12. String
13. TextField
14. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Flash / Flex / ActionScript » Class » interface 
Implement an Interface
 

package{
  import flash.display.Sprite;
  
  public class Main extends Sprite{
    public function Main(){

        var srcInstance:ShapeContainer = new ShapeContainer(200200);
        
        var cirA:Circle = new Circle(0050);
        var cirB:Circle = new Circle(00400);
        var sqA:Square = new Square(00100);
        var sqB:Square = new Square(00200);
        
        var bAdded:Boolean;
        
        bAdded = srcInstance.addShape(cirA);
        trace(bAdded);
        bAdded = srcInstance.addShape(cirB);
        trace(bAdded);
        bAdded = srcInstance.addShape(sqA);
        trace(bAdded);
        bAdded = srcInstance.addShape(sqB);
        trace(bAdded);
    }
  }
}
interface IShape {

  function getDimensions():Object;

}

class Circle implements IShape{

  private var _nX:Number;
  private var _nY:Number;
  private var _nRadius:Number;

  public function Circle(nX:Number, nY:Number, nRadius:Number) {
    nX = nX;
    nY = nY;
    nRadius = nRadius;
  }

  public function getDimensions():Object {
    return {width: 2* _nRadius, height: 2  * _nRadius};
  }

}
class Square implements IShape {

  private var _nX:Number;
  private var _nY:Number;
  private var _nSide:Number;

  public function Square(nX:Number, nY:Number, nSide:Number) {
    _nX = nX;
    nY = nY;
    nSide = nSide;
  }

  public function getDimensions():Object {
    return {width: _nSide, height: _nSide};
  }

}
class ShapeContainer {

  private var _aShapes:Array;
  private var _nWidth:Number;
  private var _nHeight:Number;

  public function ShapeContainer(nWidth:Number, nHeight:Number) {
    _nWidth = nWidth;
    _nHeight = nHeight;
    _aShapes = new Array();
  }

  public function addShape(shObject:IShape):Boolean {
    if(shObject.getDimensions().height > _nHeight) {
      return false;
    }

    var nSum:Number = 0;
    for(var i:Number = 0; i < _aShapes.length; i++) {
      nSum += _aShapes[i].getDimensions().width;
    }

   
    if(nSum + shObject.getDimensions().width > _nWidth) {
      return false;
    }
    else {
      _aShapes.push(shObject);
      return true;
    }
    }

}

        
Related examples in the same category
1. Interface Syntax and Use
2. Creating Interfaces
3. Extends an interface
4. Interface Inheritance
5. Implementing an Interface
6. Implement interface
7. Implement two interface
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.