Belajar OOP
1. Abstrack Class
dan Abstrack Method
Sebuah class yang tidak bisa
di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka
dasar’ bagi class turunannya. Di dalam abstrack class umumnya akan memiliki
abstrack method .
Cara Membuat Abstract ClassKarena kita ingin membuat class komputer
sebagai abstract class, maka berikut adalah cara penulisannya di dalam
PHP:
Untuk membuat abstract class di dalam PHP, kita tinggal
menambahkan keyword abstract sebelum nama class. Sebuah abstract
class bisa memiliki property dan method biasa layaknya sebuah
class ‘normal’, namun juga bisa memiliki abstract method.
Abstrack Method
sebuah ‘method dasar’ yang harus diimplementasikan ulang di dalam class anak (child class). Abstract method ditulis tanpa isi dari method, melainkan hanya ‘signature’-nya saja. Signature dari sebuah method adalah bagian method yang terdiri dari nama method dan parameternya (jika ada).
Cara Membuat Abstract Method
abstract public function lihat_spec();
abstract public function
lihat_spec($merk);
3. Package Class
Package adalah sarana/cara pengelompokkan dan pengorganisasian kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam library. Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di dalamnya.
Ada tiga langkah untuk membuat
package :
1. Mendeklarasikan dan memberi nama package.
2. Membuat struktur dan nama direktori yang sesuai
dengan struktur dan nama package.
3. Mengkompilasi kelas-kelas sesuai dengan packagenya
masing-masing.
Mendeklarasikan dan Memberi Nama Package
Deklarasi package harus diletakkan pada bagian paling awal (sebelum
deklarasi import) dari source code setiap kelas yang dibungkus package
tersebut.
Bentuk umum deklarasi package :
package
namaPackage;
Deklarasi tersebut akan memberitahukan kompilator, ke library manakah
suatu kelas dikompilasi dan dirujuk.
Syarat nama package :
1 Diawali huruf kecil
2 .Menggambarkan kelas-kelas yang dibungkusnya
3 Harus unik (berbeda dengan nama
package standard)
4. Merepresentasikan path dari package tersebut.
5. Harus sama dengan nama direktorinya.
Contoh package standard :
java.lang (berisi kelas-kelas fundamental yang sering
digunakan).
java.awt dan javax.swing (berisi
kelas-kelas untuk membangun aplikasi GUI)
java.io (berisi kelas-kelas untuk proses input output)
4. Casting Object
casting adalah mekanisme untuk
mengubah tipe data dari suatu data primitif atau suatu object.
contoh casting tipe data primitif
pada Java :
5. Konstruktor dan $THIS
Pada prinsipnya constructor adalah
method yang tidak memiliki return value (secara implicit adalah instant dari
kelasnya). Constructor merupakan method yang namanya sama dengan nama kelas
dimana method itu berada. Constructor digunakan untuk menginisialisasi nilai
awal (memberikan nilai default) pada atribut-atribut yang dimiliki oleh
suatu objek saat objek itu pertama kali dibuat.
Sifat-sifat constructor yaitu :
1.Namanya sama dengan nama class
2.Boleh memiliki argument lebih
dari satu atau tidak sama sekali.
3.Tidak boleh mengembalikan nilai
(termasuk tidak ada kata-kata void).
Bentuk umum Constructor yaitu :
[modifier] namaConstructor (tipe
namaparameter) {
constructorbody; }
$THIS
sebuah variabel
khusus dalam OOP PHP yang digunakan sebagai penunjuk kepada
objek, ketika kita mengaksesnya dari dalam class. Dalam manual
PHP, $this disebut dengan istilah: pseudo-variable.
Contoh nya :
<?php
class tikus {
public $barang="Keju";
public function mencuri(){
return "Mencuri";
}
}
$tikus_unyu=new tikus();
echo $tikus_unyu->mencuri();
?>
7. Overriding
Sebuah method yang menyatakan suatu
keadaan dimana method pada subclass menolak pada parent classnya. Cirinya
adalah nama method, parameter, return type harus sama.
8. Pewarisan Interface
Sebuah class dapat mewarisi
interface dengan menggunakan kata kunci implements, dimana class tersebut dapat
mewarisi beberapa interface.
contoh pewarisan pada php:
dan ini adalah hasilnya
9. Modifire
Modifier adalah digunakan untuk
menentukan hubungan suatu unsur kelas dengan unsur kelas lainnya. Dan modifier
sendiri memiliki beberapa jenis menurut aksesnya, yaitu :
1.Public : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara bebas oleh semua class lain yang berada dalam satu package ataupun tidak.
2.Protected : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara oleh semua class lain yang berada dalam satu package dan class bagian/turunan dari class awal meski berbeda package.
3.Default : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara oleh semua class lain yang berada dalam satu package.
Kalau diimplementasikan ke class contoh sebelumnya maka bisa diartikan jika kita memberi modifier private pada kedua class Kedelai dan Buah, maka object tempe dari class Kedelai tidak bisa mengakses method rasa dari class Buah, begitu juga sebaliknya.
Ini ada contoh program sederhana tentang class,method,dan modifier
1.Public : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara bebas oleh semua class lain yang berada dalam satu package ataupun tidak.
2.Protected : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara oleh semua class lain yang berada dalam satu package dan class bagian/turunan dari class awal meski berbeda package.
3.Default : semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses secara oleh semua class lain yang berada dalam satu package.
Kalau diimplementasikan ke class contoh sebelumnya maka bisa diartikan jika kita memberi modifier private pada kedua class Kedelai dan Buah, maka object tempe dari class Kedelai tidak bisa mengakses method rasa dari class Buah, begitu juga sebaliknya.
Ini ada contoh program sederhana tentang class,method,dan modifier
Contoh program dalam Java:
10. Keyword Super
Fungsi kata kunci super
untuk memanggil constructor dari kelas induk “super(p, l, t);”, Selain fungsi
tersebut kata kunci super digunakan untuk mengakses anggota kelas (variabel
maupun method) dari kelas induk “super.a = nilai1;” a di dalam kelas A.
Class induk :
Class anak :
Class main:
Final ada 2 jenis yaitu :
- 1. Final class adalah Apabila suatu class dideklarasikan final, maka class tersebut tidak bisa diturunkan lagi.
Contoh
:
public
final class_name {
.
. .
}
- 2. Final method adalah Apabila suatu method dideklarasikan final, maka kita tidak bisa melakukan overriding untuk method tersebut.
Contoh
:
public
final return_Type method_Name ( parameters ){
.
. .
}
11. Cara Penggunaan extends dalam PHP
Di dalam PHP, inheritance / penurunan dari sebuah class kepada class lain menggunakan kata kunci: ‘extends’, dengan penulisan dasar sebagai berikut:class
induk
{
//...isi class induk
}
class
anak
extends
induk
{
//... class anak bisa
mengakses
//... property dan
method class induk
}
12. Exception Handling
PHP5 merupakan suatu perubahan besar
dari versi sebelumnya. Perbedaan mencoloknya terletak pada kemampuan OOP
(Object Oriented Programming). Salah satu fitur powerful yang ditambahkan,
namun jarang digunakan adalah Exception Handling. Dengan menggunakan Exception
Handling ini, pemrograman dapat menjadi lebih efektif dan efisien.
Pada dasarnya, exception handling
ini meminimalisir penggunaan “if” yang berlebihan. Contoh kasusnya adalah
misalkan program Anda hendak mendapatkan data user dari database, dengan
menggunakan id dari user tersebut. Itu berarti, Anda harus melakukan pengecekan
terlebih dahulu apakah id yang dimasukkan adalah numerik atau bukan.
Contoh :
If (!is_numeric($user_id)) {
// jangan jalankan
fungsi
Penanganan error semacam inilah yang
memunculkan fitur bernama Exception ini. Exception adalah suatu kondisi
tertentu, yang biasanya berupa error, yang dapat terjadi atau sengaja dibuat
pada program. Exception dapat di-thrown dan di-caught. Ketika
Exception di-throw, itu berarti telah terjadi sesuatu yang di luar
kewajaran, yang harus dilakukan sesuatu untuk menanganinya. Sedangkan meng-catch
Exception berarti menangani sesuatu tersebut pada program. Untuk lebih
jelasnya, cobalah langkah berikut ini.
berikut adalah beberapa method yang
dapat digunakan
- getMessage() – mendapatkan pesan Exception
- getCode() – mendapatkan kode angka representasi dari Exception
- getFile() – mendapatkan file tempat terjadinya Exception
- getLine() – mendapatkan baris tempat terjadinya Exception
- getPrevious() – mendapatkan Exception sebelumnya bila ada
- __toString() – mendapatkan Exception sepenuhnya dalam bentuk String
KESIMPULAN
Jadi kesimpulan dari
tugas diatas adalah semua yang dijelaskan diatas akan terhubung pada bahasa
pemogramaan java dan mungkin ini adalah awal dari pembelajaran java script
Tidak ada komentar: