Thursday, May 27, 2010

Object Oriented Javascript (Part-1)

We can develop object oriented JavaScript using function method, in JavaScript functions are the main constructs that can be called or referenced. To write object oriented reusable JavaScript libraries we can utilize the similar function which use every day.

JavaScript function:
At this point i assume that we know what a function is, for quick example it is as follows:
<script type="text/javascript">
//Declare a JavaScript function
function helloWorld()
{
alert('This is my first function.');
}

//calling a JavaScript function
helloWorld();
</script>


JavaScript Class
There is no syntax to declare classes in javascript, but purpose of object class is to encapsulate data and provide some attributes or methods for outer world. This can still be achieved in JavaScript using the same function.
Functions in JavaScript can be instantiated, which means we can create multiple copies of a JavaScript function the same way as we can create instances of a class.

There are different ways to do that, the simplest way is as follows:

<script type="text/javascript">
//Declare a JavaScript Class
function Car(car_color)
{
//Initialize attributes with default values
this.Color = car_color;
this.Model = '';
this.Make = '';
//Methods
this.getModel = function() {
return this.Model;
}
this.setModel = function(car_model) {
this.Model = car_model;
}
}

//Instantiate
var car1 = new Car('Red');
var car2 = new Car('Black');
//Set attributes
//Car1
car1.Make = 'Honda';
car1.setModel('2009');
//Car2
car2.Make = 'Ford';
car2.setModel('2008');
//Call instance method
alert(car1.getModel());
alert(car2.getModel());
</script>


In the above example we can see how two instance of car were created, initialized and accessed in the JavaScript. This simple approach can help in creating reusable code which is encapsulated in a function, this way JavaScript is more manageable and help a lot when you are doing complex scripting.

No comments:

Post a Comment