Tampilkan postingan dengan label OOP. Tampilkan semua postingan
Tampilkan postingan dengan label OOP. Tampilkan semua postingan

Kamis, 26 Juni 2014

Object Oriented Programming adalah sebuah coding style yang memungkinkan developer untuk menggabungkan fungsi / proses yang sama kedalam sebuah class sehingga dapat memudahkan dalam proses perbaikan / maintain. (sumber)

Struktur Class
Dideklarasikan dengan class diikuti dengan nama dan diakhiri dengan kurva ({}):
<?php
class MyClass
{
    // Class properties and methods go here
}
?> 
Setelah membuat class, class tersebut dapat digunakan dengan menyebutkan new class:

$obj = new MyClass;
untuk melihat isi dari class, gunakan  var_dump():

var_dump($obj);

Definisi Properti Class
Properti digunakan untuk menambahkan data didalam sebuah kelas yang hanya dapat diakses dengan objek misalnya:
<?php
class MyClass
{
    public $prop1 = "I'm a class property!";
}
$obj = new MyClass;
var_dump($obj);
?> 
Untuk membaca isi dari properti dan menampilkanya di browser, maka kodenya sebagai berikut
echo $obj->prop1;
Setelah dijalankan hasilnya "I'm a class property! ".

Definisi Methods Class
Metode adalah fungsi-kelas khusus. Tindakan individu dari obyek yang didefinisikan dalam kelas sebagai metode.
Sebagai contoh, untuk menciptakan metode yang akan mengatur dan mendapatkan nilai properti kelas $ prop1, tambahkan baris berikut berani ke kode Anda:
<?php
class MyClass
{
    public $prop1 = "I'm a class property!";
    public function setProperty($newval)
    {
        $this->prop1 = $newval; 
    }
    public function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}

$obj = new MyClass;
echo $obj->prop1;
?> 
untuk mencobanya tambahkan kode berikut
echo $obj->getProperty(); // Get the property value
$obj->setProperty("I'm a new property value!"); // Set a new one
echo $obj->getProperty(); // Read it out again to show the change
sehingga menjadi
<?php 
 class MyClass
{
    public $prop1 = "I'm a class property!";

    public function setProperty($newval)
    {
        $this->prop1 = $newval;
    }

    public function getProperty()
    {
        return $this->prop1 . "<br />";
    }
}

$obj = new MyClass;
echo $obj->getProperty(); // Get the property value
$obj->setProperty("I'm a new property value!"); // Set a new one
echo $obj->getProperty(); // Read it out again to show the change
?> 
maka hasilnya
I'm a class property! 
I'm a new property value! 
Catatan : OOP memungkinkan objek untuk referensi sendiri menggunakan $this. Ketika bekerja dalam metode yang sama.

Rabu, 14 Mei 2014

Pemrograman berorientasi obyek adalah gaya coding yang memungkinkan pengembang untuk mengelompok beberapa tugas serupa ke dalam class. Dimana prinsipnya adalah “don’t repeat yourself”(DRY) yang memungkinkan pengembang membuat sebuah class untuk beberapa tugas sehingga mempermudah dalam memperbaikinya.

Untuk menggunakan variabel dan fungsi yang didefinisikan oleh class, kita dapat membuat sebuah instance dari class , yang disebut sebagai objek. Variabel yang terkait dengan objek disebut properties, dan fungsi-fungsi yang disebut sebagai metode. Perbedaan utama dari pemrograman prosedural adalah adanya properti dan metode dari sebuah objek dapat dideklarasikan sebagai protected atau private. Karakteristik yang paling penting dari pemrograman berbasis obyek , yaitu :
a.       Enkapsulasi(Encapsulation): Menyembunyikan detail dari pengguna dan mencegah akses langsung ke nilainya.
b.       Polimorfisme(Polymorphism) : Dapat memberi nama sama dengan method dan property yang memiliki fungsi sama dalam kelas yang berbeda. Polimorfisme memperluas enkapsulasi dengan menyembunyikan rincian tentang bagaimana setiap metode bekerja menggunakan nama umum .
c.        Pewarisan(Inheritance): Pembuatan class baru dapat diturunkan dari class yang sudah ada , secara otomatis mewarisisemua metode dan properti dari superclass. Class baru tidak hanya dapat menambah properti baru dan metode sendiri, tapi bisa juga menimpa properti dari superclass.

Sebuah class biasanya mengandung properti dan metode.Tidak ada aturan tentang urutan dimana mereka harus ditempatkan dalam class, tetapi yang normal adalah menyatakan semua properti diawal dan diikuti oleh metode. Contoh pembuatan class seperti berikut:
<?php
//class.myclass.php
class MyClass
{
    //properti      
public $prop1 = "I'm a class property!";
    //metode
public function setProperty($newval)
    {
        $this->prop1 = $newval;
    }
    //metode
public function getProperty()
    {
return $this->prop1 . "<br />";
    }
}
//memanggil class yang akan digunakan
$obj = new MyClass;
//mencetak properti
echo $obj->prop1;
?>

Manfaat dari pemrograman berbasis obyek sebagai berikut:
Reusability : sebuah obyek dapat digunakan untuk mengatasi masalah yang lain dengan menggabungkan kelas yang ada tanpa mempengaruhi alur kerja yang ada.
Efisiensi :konsep pemrograman berorientasi obyek sebenarnya dikembangkan untuk membuat kode yang lebih baik dan efisien, sehingga membagi setiap permasalahan menjadi bagian-bagian kecil dan kemudian mencari solusinya.
Pemeliharaan :pada pemrograman berorientsi obyek yang setiap bagian dipisahkan menjadi kecil dapat mempermudah pengembang dalam melakukan debug program.


Subscribe to RSS Feed Follow me on Twitter!