Cara menggunakan apakah javascript bisa oop?

Javascript adalah salah satu bahasa Object Oriented Programming. Sebuah bahasa pemrograman bisa digunakan secara object-oriented jika developer dapat menguasai kemampuan berikut ini

  1. Encapsulation : Kemampuan untuk menyimpan terkait informasi, apakah data atau method secara bersama-sama dalam sebuah objek. Pemahaman lainnya adalah sebuah mekanisme untuk membungkus sebuah data maupun function sehingga menyembunyikan alur secara lengkapnya dan hanya menampilkan property tertentu yang dapat digunakan. Berikut contoh sederhana encapsulation.var manusia = function () { //mulai membuat suatu object manusia var namaLengkap = "Joni Esmon"; var reg = new RegExp(/\d+/); //definisi lokal variabel dan pemberian nilai return { "setNamaLengkap" : function (newValue) { if( reg.test(newValue) ) { alert("Nilainya salah"); } else { namaLengkap = newValue; } }, //function ini digunakan untuk memberikan nilai pada lokal variabel namalengkap "getNamaLengkap" : function () { return namaLengkap; } //function ini digunakan untuk menampilkan atau memanggil nilai pada lokal variabel namalengkap }; }(); alert(manusia.getNamaLengkap()); // Joni Esmon manusia.setNamaLengkap( "Jim Backlin" ); alert(manusia.getNamaLengkap()); // Jim Backlin manusia.setNamaLengkap( 42 ); // Nilainya salah; nama tidak berubah. manusia.namaLengkap = 42; // tidak ada efek apapun karena tidak dapat merubah lokal variabel. alert(manusia.geNamaLengkap()); // Jim Backlin muncul kembali.
  2. Aggregation : Kemampuan menyimpan suatu objek di dalam objek lain
    var aggregate = function (objects) { var map = {}; // map untuk menyimpan data var a = []; // array pemyimpan sementara objects.forEach(function (d) { var key = d.a > d.c ? String(d.c) + d.a : String(d.a) + d.c; //digunakan untuk pemilihan key, jika a > c maka isi key = ca selainnya ac map[key] = (map[key] || 0) + d.count; //menyimpan kedalam variabel map berdasarkan key dan value }) // misal, key === "bd" for (var key in map) { var k = key.toString().split(""); // membelah key menjadi array ["b", "d"] a.push({ a: k[0], c: k[1], count: map[key] }); // menyimpan penyimpan array sementara sebagai appropriate object } return a; } var objects = [{a:'b',c:'d',count:1},{a:'b',c:'d',count:2},{a:'y',c:'d',count:4}]; console.log(aggregate(objects));
  3. Inheritance : Metode pewarisan dimana suatu class akan memiliki sifat yang serupa dengan class yang diturunkan//======================= Definisi ClassA ======================== var ClassA = function() { this.name = "class A"; } //membuat function utama dengan nama ClassA ClassA.prototype.print = function() { console.log(this.name); } var a = new ClassA(); //inisiasi function ClassA a.print(); //menjalankan function print pada ClassA //======================= Definisi ClassB ======================== var inheritsFrom = function (child, parent) { child.prototype = Object.create(parent.prototype); }; //function ini digunakan untuk menurunkan prototype atau sifat metode //yang terdapat pada kelas lebih tinggi var ClassB = function() { this.name = "class B"; this.surname = "I'm the child"; } //membuat function ClassB beserta nilai dari property inheritsFrom(ClassB, ClassA); //harus memanggil function diatas untuk mendapatkan sifat dari ClassA var b = new ClassB(); //inisiasi variabel berdasarkan ClassB b.print(); //menjalankan function print pada ClassB, function print tetap dapat dipanggil meski ClassB tidak membuat function print karena ClassB telah mendapatkan pewarisan sifat / property dari ClassA ClassB.prototype.print = function() { ClassA.prototype.print.call(this); //memanggil function print yang terdapat ClassA console.log(this.surname); } //melakukan override atau menambahkan sifat asli / property dari Class yang sudah diwarisi b.print(); //menjalankan function print setelah dilakuakn override
  4. Polymorphism : adalah kemampuan untuk membuat sebuah variabel, fungsi, atau sebuah benda yang memiliki lebih dari satu bentuk.
    Penggunaan utama dari Polymorphism dalam Object-Oriented Programming adalah kemampuan objek yang milik berbagai jenis respon untuk menanggapi metode, bidang, atau memanggil properti dengan nama yang sama, masing-masing sesuai dengan perilaku tipe tertentu yang sesuai.function Person(age, weight) { this.age=age; this.weight=weight; this.getInfo=function() { return "I am " + this.age + " years old " + "and weighs " + this.weight +" kilo."; } } //mmebuat function person function Employee(age, weight, salary){ this.salary=salary; this.age=age; this.weight=weight; this.getInfo=function() { return "I am " + this.age + " years old " + "and weighs " + this.weight +" kilo " + "and earns " + this.salary + " dollar."; } } //membuat function employee Employee.prototype= new Person(); //function employee memiliki sifat yang menyerupai function Person Employee.prototype.constructor=Employee; function showInfo(obj) { document.write(obj.getInfo()+" "); } //argumen 'obj' bisa berisi apapun //function getInfo akan dijalankan bergantung dengan isi objek var person = new Person(50,90); //memberikan nilai pada function person (age, weight) var employee = new Employee(43,80,50000); //memberikan nilai pada function employee(age, weight, salary) showInfo(person); showInfo(employee); //menampilan objek

Setelah memahami beberapa hal metode yang digunakan dalam OOP, masih terdapat beberapa hal yang diketahui salah satunya adalah langkah membuat Object pada javascript :

Apakah JavaScript mendukung OOP?

JavaScript adalah bahasa pemrograman yang paling penting dalam pengembangan website. JavaScript juga mendukung pemrograman berorientasi objek (object oriented programming), karena mengenal konsep object , property , dan method .

Apa itu OOP dalam JavaScript?

OOP atau Object Oriented Programming merupakan salah satu pattern pada programming yang sangat umum digunakan oleh developer di dunia. Kalau berbicara mengenai OOP pasti kaitannya sangat erat dengan bahasa pemograman Java. Ya secara bahasa Java itu adalah bahasa yang pure mengusung pattern OOP.

Apa saja pemrograman yang mendukung OOP?

Berikut ini adalah Bahasa pemrograman yang mendukung OOP antara lain seperti:.
Visual Foxpro..
Pascal (bahasa pemrograman).
SIMULA..
Smalltalk..
Python..

4 bahasa apa saja yang mendukung OOP selain Java?

Contoh bahasa pemrograman berorientasi objek antara lain Java, PHP, Python, dan Ruby.

Postingan terbaru

LIHAT SEMUA