Didalam Katagori: Javascript
Hari hari antara awal oktober hingga artikel ini ditulis, saya pribadi merasakan hari ini berbolak-balik, sering gak merasa puas dengan metode pemrograman yang saya pake, padahal sering improvisasi, tapi tetap saja belum merasakan kepuasan dengan beberapa framework yang saya kembangkan sendiri,Akhirnya tanggal 14 Oktober kemarin, saya iseng2 mencoba mempelajari javascript OOP secara pure, tanpa pake framework JS apapun, karena awalnya saya biasa pake jQuery setelah memutuskan beralih dari prototype .
<script type="text/javascript">Potongan script diatas adalah implementasi OOP secara simple dengan javascript. Class tersebut bernama class Person, walaupun kelihatannya seperti function biasa, perlu diketahui, javascript mempunyai beberapa cara untuk membuat Class, dan salah satunya adalah dengan cara yang saya pakai.
// Person adalah nama Class beserta constructornya
function Person(){
this.name = "Didin Nurdin Ahmadi";
this.age = function(a){
return a;
}
}
Person.prototype.School = function(alamat){
this.Alamat = function(alamat){
return (alamat) ? alamat : "Margonda";
}
return "MI";
}
Person.prototype.Age = function(){
return (new Person().age(5));
}
</script>
perintah prototype berguna untuk meregister function/ method/ property ke dalam Class , sehingga penggunaannya adalah
ClassName.prototype.method = function(){
}
Selain dengan sintax prototype, register methode kedalam sebuah object bisa juga dengan menggunakan
this.method = function(){
}
bedanya, penggunaan kata this ini harus ada di dalam scope function.object. misalnya:
Person.prototype.School = function(alamat){Pada potongan script diatas, kita tahu bahwa dalam method School ada sebuah function/ methode lagi yang bernalam Alamat(arg);
this.Alamat = function(alamat){
return (alamat) ? alamat : "Margonda";
}
return "MI";
}
Kedudukan methode Alamat() sama dengan School(), walaupun kelihatannya methode Alamat() berada didalam methode School(), itu karena rujukan this kembali ke Object Person (dalam contoh ini). jadi jika ingin mengakses method Alamat(), caranya sama dengan School(). misal:
man = new Person();dari Class Person yang telah dibuat diatas, kita bisa mengetahui methode/property apa saja yang ada didalamnya, kita bisa melihatnya dengan menggunakan funcion for in:
document.write(man.Alamat() + "<br/>");
document.write(man.School() + "<br/>");
man = new Person();
for(a in man){
document.write(a + " = " +man[a] + "<br>");
}
Tidak ada komentar:
Posting Komentar