Panduan dan pengertian oop serta cara menggunakannya

Posting Komentar

Class vs Objek
Class seperti cetak biru rumah Anda. Sebelum rumah Anda dibangun, ada cetak biru rumah atau gambar rumah. Ini bukan rumah yang sebenarnya, tapi rencananya bagaimana rumah ini akan terlihat seperti sebuah rumah, berapa banyak ruangan yang akan ada. Kemudian rumah anda akan dibangun dengan mengikuti cetak biru dengan tepat dan benar. Dalam analogi ini, cetak biru rumah adalah class dan rumah Anda sebenarnya adalah sebuah objek. Kita bisa memiliki objek class tak terbatas, sama seperti halnya kita membangun sebuah rumah tak terbatas dengan mengikuti cetak biru rumah yang sama.
Beberapa hal penting yang harus diingat:
  • Class bersifat generik, sedangkan Object bersifat spesifik
  • Class mendefinisikan properti / fungsi Objek
  • Objek adalah instance dari Class
  • Anda bisa instantiate sebuah objek, tapi bukan Class
Class PHP
Class terdiri dari sifat dan metode. Berikut adalah Class PHP. Di dalam Class sederhana ini. $PostCode adalah properti dan ringBell() adalah sebuah metode. Semuanya diawali dengan kata kunci visibilitas (publik).
Class Rumah {

 public $postCode = "123";
 public function ringBell() {
  read "lari";
 }
}

untuk memangil instantiate objek class, gunakan kata kunci baru seperti di bawah ini:
$rumahku = new Rumah();//pemangilan kata class Rumah
Visibilitas
Setiap metode dan properti memiliki visibilitasnya. Ada tiga jenis visibilitas di PHP. Mereka dinyatakan oleh kata kunci publik , protected dan private . Masing-masing mengendalikan bagaimana sebuah metode / properti dapat diakses oleh orang luar.
Publik : Ini memungkinkan seseorang dari luar mengakses metode / propertinya. Ini adalah visibilitas default di kelas PHP saat tidak ada kata kunci yang diawali dengan metode / properti.
Protected : Hanya memungkinkan kelas sendiri / propertinya.
Private : Tidak mengizinkan siapapun kecuali dirinya sendiri untuk mengakses metode / propertinya.
ini memungkinkan subclass mewarisi karakteristik kelas induk. Kelas orang tua memutuskan apa dan bagaimana propertinya / metode yang akan diwarisi oleh visibilitas yang dideklarasikan.
Class Shape { 
 nama fungsi publik () { 
  echo "Saya adalah bentuk"; 
 } 
} 

Lingkaran kelas meluas Bentuk { 

} 
$ lingkaran = lingkaran baru (); 
$ Circle-> name (); // aku bentuknya lingkaran(bulat)
Kata kuncinya di sini meluas.Saat kelas Lingkaran terbentang dari kelas Shape , kelas mewarisi semua metode publik dan yang dilindungi serta properti dari kelas Shape.
Polimorfisme
Penyediaan antarmuka tunggal untuk entitas dari berbagai jenis. Pada dasarnya itu berarti PHP mampu memproses objek secara berbeda tergantung pada tipe data atau kelasnya. Fitur canggih ini memungkinkan Anda menulis objek saling dipertukarkan yang berbagi antarmuka yang sama.
Interface Shape { 
 nama fungsi publik (); 
} 

Lingkaran kelas menerapkan Shape { 
 nama fungsi publik () { 
  echo "I am a circle"; 
 } 
} 

Class Triangle mengimplementasikan Shape { 
 public function name () { 
  echo "Saya adalah segitiga"; 
 } 
} 

Uji fungsi (Bentuk $ bentuk) { 
 $ shape-> name (); 
} 

Test (new Circle ()); // Saya adalah 
tes lingkaran (Segitiga Baru());
Contoh di atas, uji (Bentuk $bentuk) menyatakan fungsi (tipe jenis) satu-satunya parameter untuk menjadi tipe Shape . Fungsi ini tidak mengenal class Lingkaran dan Segitiga. Ketika salah satu kelas dilewatkan ke fungsi ini sebagai parameter, maka prosesnya masing-masing.
Enkapsulasi
Enkapsulasi digunakan untuk menyembunyikan nilai atau keadaan objek data terstruktur di dalam kelas, mencegah akses langsung pihak yang tidak sah kepada mereka. Ini adalah konsep yang memotivasi kita untuk memikirkan metode / tanggung jawab kelas dan menyembunyikan perincian / pelaksanaan internalnya secara tepat. Ini akan memudahkan untuk memodifikasi kode internal dalam jangka panjang tanpa mempengaruhi bagian lain dari sistem. Visibilitas adalah mekanisme untuk enkapsulasi.
class Person {
 private $name;

 public function setName($name) {
  $this->name = $name;
 }

 public function getName($name) {
  return $this->name;
 }
}

$robin = new Person();
$robin->setName('Robin');
$robin->getName();
Di kelas sederhana ini di atas. Field $name dienkapsulasi (private). Pengguna kelas tidak sadar bagaimana $nama disimpan di kelas Person . Sekarang nama $ disimpan dalam memori. Kita bisa memodifikasi kode internal kelas Person untuk menyimpannya ke flat file atau event database. Pengguna kelas tidak perlu mengubah kode apa pun, sebenarnya mereka bahkan tidak tahu bagaimana $name disimpan, karena itu dienkapsulasi dan disembunyikan.
Abstraksi
Abstraksi adalah konsep untuk memindahkan fokus dari rincian dan implementasi konkret hal, dengan jenis hal (yaitu class), operasi yang tersedia (yaitu metode), dll, sehingga membuat pemrograman lebih sederhana, lebih umum, dan lebih abstrak. Ini seperti generalisasi dan bukan spesifikasi.
TV kelas { 
 private $ is on = false; 

 Fungsi publik turnOn () { 
  $ this-> isOn = true; 
 } 

 Fungsi publik turnOff () { 
  $ this-> isOn = false; 
 } 
} 

$ Tv = TV baru (); 
$ Tv-> turnOn (); 
$ Tv-> turnOff ();
Kode di atas mendefinisikan kelas TV . Kita tidak bisa berbuat banyak dengan hal itu kecuali menyalakan dan mematikannya. TV kelas adalah abstraksi TV sesungguhnya dalam kasus penggunaan yang sangat sederhana. Interface vs kelas abstrak
Interface
Interface menyatakan metode apa yang harus dimiliki sebuah kelas tanpa harus menerapkannya. Setiap kelas yang mengimplementasikan antarmuka harus menerapkan rincian metode yang dideklarasikan. Antarmuka bukan kelas, jadi Anda tidak bisa memberi instantiate sebuah antarmuka. Hal ini berguna bila Anda perlu menegakkan beberapa kelas untuk melakukan sesuatu.
Antarmuka Kendaraan { 
 fungsi publik startEngine (); 
} 

Kelas Mobil menerapkan Kendaraan { 
 public function startEngine () { 
  echo "Engine Started"; 
 } 
}
Kendaraan adalah sebuah antarmuka dengan metode yang dideklarasikan startEngine() . Mobil menerapkan Vechicle , jadi harus menerapkan metode startEngine() apa. Kelas abstrak Kelas abstrak mampu menerapkan subclass untuk mengimplementasikan metode yang mirip dengan antarmuka. Ketika sebuah metode dinyatakan abstrak dalam kelas abstrak, kelas turunannya harus menerapkan metode itu. However it is very different from interface. You can have normal properties and methods as a normal class, because it is in fact a class, so it can be instantiated as a normal class.
abstract class Vehicle {
 abstract public function startEngine();

 public function stopEngine() {
  echo "Engine stoped";
 }
}

class Car extends Vehicle {
 public function startEngine() {
  echo "Engine Started";
 }
}
itulah penjelasan sinkat tentang OOP. Semoga bermanfaat untuk anda yang baru menggenal OOP http://lacodeid.com/_more/2017-739040144-panduan-pemrograman-berorientasi-objek-php-pemula

Related Posts

There is no other posts in this category.

Posting Komentar