0% found this document useful (0 votes)
24 views7 pages

Constructor Overriding

Constructor Overriding

Uploaded by

Dhani Trianggara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views7 pages

Constructor Overriding

Constructor Overriding

Uploaded by

Dhani Trianggara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Constructor Overriding

 Karena constructor sama seperti function, maka constructor-pun bisa kita deklarasikan
ulang di class childnya
 Sebenarnya pada PHP kita bisa mengoveride function dengan arguments yang berbeda,
namun sangat tidak disarankan
 Jika kita melakukan overriding function dengan arguments berbeda, maka PHP akan
menampilkan WARNING
 Namun berbeda dengan constructor overriding kita boleh menggoverride dengan
mengubah argumnetnya namun direkomendasikan dengan memanggil parent constructor

Polimorpisme

 Banyak bentu
 Kemampuan sebuah object berubah bentuk ke bentuk yang lain
 PolyMorphism erat hubungannya dengna inheritance
Tyype Check dan cast
 Untuk tipe data object Tidak perlu lagi konversi secara explisit
 Agar aman menggunkan cast pastikan melakukan type check pengecekan tipe data
dengan menggunakawan kata kunci instanceof
 Hasil operator instance of adalah boolean true jika tipe data sesui false jika tidak sesuai

ABSCTRACT CLASS
 Saat kita membuat abastract kelass kita menjadikan sebuah class sebagai abstracttt class.
 Abstract class tidak bisa dibuat sebagai object secara langsung hanya bisa diturunkan
 Untuk membuat sebuah class menjadni abstrasct kita bisa menggunakawan kata kunci
abstract sebelum kata kunci class
 Sehingga abstract class bisa kita gunakawna sebagai kontak child class

ABSSTRACT FUNCTION
Saat kita membuat class yang abstract kita bisa membuat abstract funciton juga dalam class
abstracct tersebut.
Saat kita membuat sebuah abstract function kita tidak boleh membuat block function untuk
function tersebut
Artinya abstract fungsi abstrack wajib di override di class child

Abstract function tidak boleh memiliki akkses modivier private haru protected

ENCAPSULATION

 Memastikan data sensitif sebuah object tersembunyi dari akses luar


 Agar kita bisa menjaga agar data sebuah object baik dan valid
 Kita mmebuat semua properties menggunkawan access modifier private sehingga tidakk
bisa diakses atau diubaj dari luar
 Agar bisa dirubah kita akan menyediakan funtion untuk mengubah dan mendapatkan
properties tersebut.
GETTER SETTER
 Getter adalah fungsi yang dibuat untuk mendapakan data field
 Setter fungsi untuk mengubah data field pada php

INTERFACE
 Sebelumnya kita sudah tahu bahwa class bisa kita gunakawan sebagai kontrak untuk class
 Childnya
 Namun sebenarnya yang lebih tepat untuk kontrak adalah interface
 Jangan salah sangka bahaw interface disini bukan user interface
 Interface mirip dengan seperti abstract class yang membedakan adalah interface semua
method otomatis abstract tidak memiliki block
 Interface tidak boleh memiliki properties kita hanya boleh memiliki constanst
 Untuk mewariskan interface kita tidak menggunaakan kata kunci extends melainkan
implements
 Dan berbeda dengan class kita bisa implementasi lebih dari satu interface
INHERITANCE INTEFACE
 child clas hanya bisa punya 1 class parent
 namun berbeda dengan interface sebuah class child class bisa implements lebih dari 1
interface

 bahkan interface pun bisa implement interface lain bisa lebih dari 1 namun jika inteface
ingin mwarisi interface lainm kita mengunakan kata kunci extends bukan implements

TRAIT
 Mirip dengna abstract class abstract function
 Di trait kita bisa menambahkan lebih dari 2 class
 Kita bisa menambahkan konkrit function ke dalam class dengan trait
 Secara sederhana trait adalha digunakawan untuk menyimpan function yang bisa
digunakan ulang di beberapa class
 Untuk menggunkawan trait di class kita bisa mengugnkawan kata kunci use
FINAL CLASS

 Kata kuncti final bisa digunakan di class, dimana jika kita menggunakan kata kunci
sebelum class, maka kita menandakan bahwa class tersebut tidak bisa diwariksan lagi
 Secara otomatis semua class childnya akan error
FINAL FUNCTION
Kata kunci final juga bisa digunakan di function
 Jika sebuah function kita tambbahkan kata kunci final maka artinya function tersebut
tidak bisa di oveeride lagi di class childnya.
 Sangat cocok jika kita ingin mencuci implementasi dari sebuah method agar tidak bisa
diubah lagi oleh class childnya.

ANONYMOUSE CLASS

 Adalaha kemampuan mendeklasrasikan class sekaligus menginisisai objectnya secara


langsung
 Anonymouse class sangat cocok ketika berhadapan dengan kassus membuat
implementasi interface abstract class sedeharna tanpa harus membuat implemenetasi
classnya.
STATIC KEYWORD
 Kata kunci static adalah keyword yang bisa kita gunakan untuk membuat properties atau
function class bisa diakses secara langsung tanpa menginisiasi class terlebih dahulu
 Namun dapat diingat saat kita buat static properites atau function secara otomatis hal itu
tidak akan berhubungan lagi dengan class instance yang kita buat.
 Untuk cara mengakses static properties dan function sama seperti mengakses constatns,
kita bisa menggunakan operator ::
 Static function tidak bia mengakses function biasa, karena functionn bisa menempel pada
class instance sedangkan static function
OBJECT ITERATION
 Membuat object dari sebuah class, kita bisa melakukan iterasi ke semua properties yang
terdapat di object tersebut menggunakan foreach
 Hal ini mempermudah kita saat ingin mengakses semua properties Yang ada di object
 Secara default hanya properties yang public yang bisa diaksess oleh foreach
ITERATOR
 Kita melakukan iterasi data di properties secara otomatis menggunakan foreach
 Jika kita ingin menangani hal ini secara manual, kita bisa menggunakan iterator
 Iterator adalah interface yang digunakan untuk melakukan iterasi, namun membuat
iterator secara manual lumayan berat dan rumit, oleh karena itu sekarang kita
Menggunakan ArrayIterator, yaitu iterator yang menggunakan arrray sebagai data
iterasinya.
 Agar class kita bisa di iterasi secara manual kita bisa menggunkaan interface
iteratoraggregate, disana kita hanya butuh meng-overide function getIterator() yang
mengembalikan data iterator
GENERATOR
 Membuat object sesuai iterasi kita menggunkawan iterator
 Namun pembuatan iterator secara manual sangatlah ribet php mengguakan kata kunci
yield
OBJECT CLONING
 Kadang kita ada kebutuhan untuk menduplikasi sebuah object
 Biasanya untuk melakukan hal ini kita bisa membuat object baru, lalu menyalin semua
properties di object awal ke object baru
 Php mendukung object cloning
 Kita bisa menggunakan perintah clone untuk membuat duplikasi object
 Secara otomatis semua properties di object awal akan di duplikasi object baru
__CLONE() FUNCTION
 Kadang menyalin semua properties bukanlah yang kita inginkan
 Misal saja kita hanya ingin menyalin beberapa properties saja, tidak ingin semuanya
 Kita ingin memodifikasi cara PHP melakukan cone, kita bisa membuat function didalam
class nya dengan nama function__clone()
 Function_Clone() akan dipanggil di object hasil duplikasi setelah proses duplikasi selesai
 Jadi kita ingin menghapus beberapa properties, bisa kita lakukan di function__clone()
Comparing Object
 Sama seperti tipe data yang lain, untuk membandingkan dua buah object, kita bisa
menggunakan operator = = (equals) dan = = = (identity)
 Operator = = (equals) membandingkan semua properties yang terdapat di object tersebut,
dan tiap properties juga akan dibandingkan menggunakan operator = = (equals)
 Sedangkan operator = = = (identity), makan akan membandingkan apakah object identik,
artinya mengacu ke object yang sama

comparing object

 sama seperti tipe data yang lain, untuk mebandingkan dua buah object kita bisa
menggunakan operator = = (equals) dan = = = (identity)
 Operator = = (equals) mebandingkan semua properties yang terdapat di object tersebut,
dan tiap properties juga akan dibandingkan menggunakan operator = = (equals) atau
sama dengan
 sedangkan operator = = = (identity) akan membandingkan apakah object identik, artinya
mengacu pada saat kita membuat object.

Magic function
 magic function adalah function function yang sudah ditentukan kegunaannya
 tidak bisa membuat function tersebut, kecuali memang sudah ditentukan kegunaanya
 __toString() function merupakan salah satu mageic function yang digunakan sebagai
representasi string sebuah object
 jika kita membuat string dari object kita, kita bisa membuat function_toString()
Magic merupakan bagian method dari PHP ciri ciri yang menonjol didalam fungsi magic
menggunakan doble (__).

_ _invoke() Function
 _ _ invoke() merupakan fungsi yang telah dikesekusi object yang kita buat dianngap
sebagai function
 Misal ketika kita membuat object $student, lalu kita melakukan $student(), maka secara
otomatis function_invoke() yang akan dikeskusi

You might also like