Konsep Dasar OOP
Polimorfisme (Polymorphism)
Definisi:
Kemampuan suatu objek untuk mempunyai lebih dari satu bentuk.
Inheritance
Definisi:
Merupakan pewarisan atribut dan method dari sebuah class lainnya.
Class yang mewarisi disebut superclass, sedangkan class yang diwarisi disebut subclass.
Subclass bisa berlaku sebagai superclass bagi class lainnya (multilevel inheritance).
Prinsip:
Persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.
Enkapsulasi (Encapsulation)
Definisi:
Pembungkusan variabel dan method dalam sebuah objek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut.
Variabel dan method yang dipunyai objek bisa ditentukan hak aksesnya.
Contoh dalam Java
Polimorfisme
class SepakBola {
public void showoff() {
System.out.println(“Menangkan pertandingan”)
}
}
class Penyerang extends SepakBola {
public void showoff() {
System.out.println(“Cetak GOL”);
}
}
class Bek extends SepakBola {
public void showoff() {
System.out.println(“Jangan sampai GOL”);
}
}
class Kiper extends SepakBola {
public void showoff() {
System.out.println(“Jaga gawang”);
}
}
public class Tendangan {
public static void main (String[] args) {
SepakBola SB = new SepakBola();
Penyerang P = new Penyerang();
Bek B = new Bek();
Kiper K = new Kiper()
SB.showoff();
SB = P;
SB.showoff();
SB = B;
SB.showoff();
SB = K;
SB.showoff();
}
}
Inheritance
Public class SmartMahasiswa extends Mahasiswa{
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
SmartMahasiswa mhs = new SmartMahasiswa();
mhs.setNim(“09530699”);
mhs.setNama(“Fuad Yusuf P”);
mhs.printNim();
mhs.printNama();
}
}
Enkapsulasi
Objek Persegi panjang, di dalamnya terdapat variabel
panjang,lebar,fungsi set_sisi(),fungsi get_luas()
Class PERSEGI PANJANG {
int panjang;
int lebar;
public:
void set_sisi(int p, int l) {
panjang = p;
lebar = l;
}
int get_luas() { return panjang * lebar; }
};
Nama : Fuad Yusuf P
NIM : 09530699
Kelas : TI 2B
Sekian terimakasih...
Tidak ada komentar:
Posting Komentar