• LINK
    • Dengan bangga mendukung kegiatan idsecconf 2009
    • Kajian.Net

CARI MP3 KAJIAN, EBOOK, TUTORIAL PEMROGRAMAN PHP, MATERI KULIAH DATABASE, DLL

Loading

October 14, 2009

JavaScript Object Oriented Programing (OOP)

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">
   // 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>

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.

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){
        this.Alamat = function(alamat){
        return (alamat) ? alamat : "Margonda";
      }
      return "MI";
 }

 Pada potongan script diatas, kita tahu bahwa dalam method School ada sebuah function/ methode lagi yang bernalam Alamat(arg);

 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();
  document.write(man.Alamat() + "<br/>");
  document.write(man.School() + "<br/>");

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:

  man = new Person();
 
  for(a in man){
    document.write(a + " = " +man[a] + "<br>");
  }

 OK sekian dulu, semoga bermanfaat…

 

Komentar »

Komen Belum Muncul, Silahkan Munculkan Komen.

RSS feed for comments on this post.

Silahkan Kirim Komen



Anti-spam measure: please retype the above text into the box provided.

email anda tidak akan ditampilkan ke publik, HTML yang di izinkan

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>