منبع اصلی نوشتار زیر در این لینک قرار دارد

کلاس در javascript

برای هر پروژه ای نیاز به تعریف class وجود دارد. روش‌های مختلفی برای تعریف وجود دارد که چند موردش عبارت است از:
 

استفاده از function

یکی از معمول ترین روش هاست. در این حالت شما یک function تعریف می‌کنید و موارد را در context همان اضافه می کنید.

function Apple (type) {
    this.type = type;
    this.color = \"red\";
    this.getInfo = getAppleInfo;
}

// anti-pattern! keep reading...
function getAppleInfo() {
    return this.color + \' \' + this.type + \' apple\';
}

شما می تونید با استفاده از new یک instance جدید ایجاد کنید.

var apple = new Apple(\'macintosh\');
apple.color = \"reddish\";
alert(apple.getInfo());

شما می‌توانید متد های مرتبط را به صورت داخلی تعریف کنید.

function Apple (type) {
    this.type = type;
    this.color = \"red\";
    this.getInfo = function() {
        return this.color + \' \' + this.type + \' apple\';
    };
}

یا اینکه از protoype استفاده کنید.

Apple.prototype.getInfo = function() {
    return this.color + \' \' + this.type + \' apple\';
};

به طور کلی تعاریف دیگر OOP را هم می‌توانید در این تعریف‌ها پیاده‌سازی کنید.

به طور مثال پیاده‌سازی مربوط به ارث بری را ببیند.

pear.prototype = new Apple;


استفاده از Object

در javascript دیکشنری ها object هستند و شما به راحتی می‌توانید یک object جدید درست کنید.
 

var o = {};

یا اینکه از object یک instance جدید بسازید.

var o = new Object();

حالا با استفاده از این ساختار شما می‌توانید یک کلاس بسازید

var apple = {
    type: \"macintosh\",
    color: \"red\",
    getInfo: function () {
        return this.color + \' \' + this.type + \' apple\';
    }
}

و به راحتی ازش استفاده کنید.

apple.color = \"reddish\";
alert(apple.getInfo());


استفاده از کلاس‌های آماده

کلاً مسأله class در javascript اینقدر جدی بوده که کلاس‌های زیادی برای کار با آن نوشته شده است.

همچنین ببینید



برچسب ها : , , , , ,