//Mixed solution from various sources which I cannot remember. Hope it helps
//SuperClass to be Inherited
//Inherit edilecek olan SuperClass
function SuperClass() {
//Defining class function explicitly
//Fonksiyonun dışardan tanımlanması durumu
this.superTest = superTest;
//Private variable which is usable for only SuperClass
//Sadece SuperClass a açık olan private variable
var privateVariable = "aa";
//Public variable that can be used from everywhere
//Dışarıdan erişilebilen public variable
this.publicVariable = "bb";
//Reaching public and private variables from private method
//Private methodun public ve private variable'lara erişimi
var privateFunction = function () {
return privateVariable + " " + self.publicVariable;
}
//Using private variable in a public method
//Private variable' ın public bir methodda kullanılması
this.getPrivateVariable = function () {
return privateVariable;
}
//Using private method in a public method
//Private methodun public bir methodda kullanılması
this.runPrivateFunction = function () {
return privateFunction();
}
//To make SuperClass's methods be able to reach public variables of the Class
//Private methodların public method ve variable' lara erişebilmesi için self kullanıyoruz
var self = this;
}
//Subclass that is inheriting SuperClass
//Inherit eden SubClass
function SubClass() {
//Inheritance
//Super Class inheritance olayı
this.inheritFrom = SuperClass;
//Running SuperClass' constructor from SubClass (like java Super())
//SuperClass constructorının çağrılması bu constructor() methodu içerisinde de yapılabilir karar veremedim
this.inheritFrom();
//Implementing method explicitly
//Medhodun dışardan tanımlanması
this.subTest = subTest;
//SubClass private method
//SubClass private methodu
var subPrivateFunction = function () {
return self.subTest();
}
//Running private method from public method
//Public method ile private methodun çalıştırılması
this.runSubPrivateFunction = function () {
return subPrivateFunction();
}
//To make SubClass's methods be able to reach public variables of the Class
//Private method ve variable' ların public method ve variable' lara erişebilmesi için
self = this;
}
function superTest() {
return "superTest works!";
}
function subTest() {
return "subTest works!";
}
var objectFromSubClass = new SubClass();
6 Aralık 2013 Cuma
Object Oriented Design & Development in Javascript : 1- Class Structure, Inheritance
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder