Pages

Friday, September 17, 2010

OOP Javascript

//Simple OOP Sample

// in this Sample
// in this Sample I will Create objects like C# objects
// Hint all this code support Intellisense
function RunSampleA() {
var Car = new Object();
var Bus = new Object();
Bus.Car = Car;
Car.Name = "BMW";
Car.Width = 20;
Car.Size = { Width: 30, Height: 50 }; // like JSON
Car.Height = 50;
Car.Play = function () {
return this.Name + '; ' + this.Width.toString() + '; ' + this.Height.toString();
}
Car.Play2 = function () {
return this.Name + '; ' + this.Size.Width + '; ' + this.Size.Height;
}
alert(Car.Play());
alert(Car.Play2());
alert(Bus.Car.Play());
}

// Initialising and creating nested objects.

function RunSampleB() {
var ServiceManager = { CarService: 'My Car Service', ComputerService: 'My Computer Service',
FoodService: { DesertServices: "my desert service", Dinners: "Dinner Foods", "DoService": function (food) {
alert('Cooking ' + food);
}
}
};

alert(ServiceManager.CarService);
alert(ServiceManager.FoodService.DesertServices);
alert(ServiceManager.FoodService.Dinners);
alert(ServiceManager.FoodService.DoService('Yamme rice'));


}

//Object Model Sample with call back methods
function RunSampleC() {
var ServiceManager = new Object();
ServiceManager.CarService = 'My Car Service';
ServiceManager.ComputerService = 'My Computer Service';
ServiceManager.FoodService = new Object();
ServiceManager.FoodService.Dinners = "My Dinner";
ServiceManager.FoodService.DesertServices = "My Desert service";
ServiceManager.FoodService.DoService = function (food) {
alert('Cooking ' + food);
return 1;
}

ServiceManager.FoodService.DoCallbackService = function (food, cb) {
cb(food);
return 1;
}
alert(ServiceManager.CarService);
alert(ServiceManager.FoodService.DesertServices);
alert(ServiceManager.FoodService.Dinners);
// alert(ServiceManager.FoodService.DoService('Yamme rice'));
alert(ServiceManager.FoodService.DoCallbackService('rice', callBack));


}
function callBack(data) {
alert(data + ' was called from call back');


}



// Creatig objects that can be initialised with constructor
function RunSampleD() {

var Dog = function (id, name, age, color) {
this.Color = color;
this.Age = age;
this.ID = id;
this.Name = name;
this.toString = function () {
return this.ID + '; ' + this.Name + '; ' + this.Age + '; ' + this.Color;
}
this.Bark = function () { alert('Hoow, Hoow'); }
}

var buddy = new Dog(1, 'Buddy', 3, 'White');

alert(buddy);
buddy.Bark();

}

1 comment: