By defination – Namespaces give you control over the visibility of the properties and methods that you create. Think of the public, private, protected, and internal

access control specifiers as built-in namespaces. If these predefined access control specifiers do not suit your needs, you can create your own namespaces.

We can create our own namespaces in Actionscript 3.0.

Suppose we have a class named Employee having a method within named calculateSalary();

We can create our own namespaces to see the difference in incentives for RIA developers. We will create two namespaces as follows:

package com.xyzsystems.namespace {
public namespace codevils=”http://riaxe.com/blog”;
}

package com.xyzsystems.namespace {
public namespace others;
}

Lets create our Employee class where we will use these namespaces as follows:

package com.xyzsystems.employee
{
import com.xyzsystems.namespace.*;

public class Employee
{
others static function calculateIncentive():Number{
return 5000;
}
//
codevils static function calculateIncentive():Number{
return 7500;
}
}
}

We are done with the class. Lets test the calculateIncentive() method for different namespaces.

package com.xyzsystems.test
{
import com.xyzsystems.namespace.*;
import com.xyzsystems.employee;
import mx.controls.Alert;

use namespace others;
// use namespace codevils;
public class TestEmployee
{
public function TestEmployee():void {
var incentive:Number = Employee.calculateIncentive();
Alert.show("The incentive for the employee is :"+incentive);
}
}
}

The Alert will show this “The incentive for the employee is : 5000″;

We can also define the namespace like this -

var incentive:Number;
incentive = Employee.codevils::calculateIncentive();

This would result in “The incentive for the employee is :  7500” in the Alert.


Share