30
Pemrograman Berorientasi Objek INHERITANCE Oleh : Sri Herawati, S.Kom D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

Pemrograman Berorientasi Objek

  • Upload
    abner

  • View
    53

  • Download
    0

Embed Size (px)

DESCRIPTION

Pemrograman Berorientasi Objek. Oleh : Sri Herawati, S.Kom. INHERITANCE. D3 MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO. Sub Topik. Inheritance (Pewarisan) Abstract class Abstract Method Interface. Inheritance. Inheritance merupakan salah satu dari 3 konsep dasar OOP. - PowerPoint PPT Presentation

Citation preview

Page 1: Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek

INHERITANCE

Oleh :Sri Herawati, S.Kom

D3 MANAJEMEN INFORMATIKAFAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO

Page 2: Pemrograman Berorientasi Objek

Sub Topik

• Inheritance (Pewarisan)

• Abstract class

• Abstract Method

• Interface

Page 3: Pemrograman Berorientasi Objek

Inheritance

• Inheritance merupakan salah satu dari 3 konsep dasar OOP.

• Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan.

• Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.

Page 4: Pemrograman Berorientasi Objek

Inheritance

• Suatu class yang mempunyai class turunan dinamakan parent class atau base class superclass

• Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class.

• Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.

• Misal :kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A otomatis akan dimiliki juga oleh kelas B.

Page 5: Pemrograman Berorientasi Objek

Inheratance

• Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya.

• Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

• Bentuk :

class kelasturunan extends kelasparent

{

tubuhkelas

}

Page 6: Pemrograman Berorientasi Objek

Inheritance

• Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.

• Konsep inheritance yang ada di Java adalah Java hanya memperkenankan adanya single inheritance.

• Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.

Page 7: Pemrograman Berorientasi Objek

Contoh : parent class

class Alpha{

private int a = 5;

public void info(){

System.out.println("a= "+a);

System.out.println("Dipanggil pada "+ this.getClass().getName());

}

}

Ket : this.getClass().getName() utk memperoleh nama kelas

Page 8: Pemrograman Berorientasi Objek

Contoh : child class

class Bravo extends Alpha

{

public static void main(String[] args){

Bravo obj= new Bravo();

obj.info();

}

}

Page 9: Pemrograman Berorientasi Objek

Hasil :

Page 10: Pemrograman Berorientasi Objek

Penentu akses protected

• protected berguna utk mengatur agar suatu variabel instan atau metode yg terdapat pada sebuah kelas dpt diakses pada kelas itu sendiri dan sub kelas.

Page 11: Pemrograman Berorientasi Objek

Contoh :parent class

class Alpha{

private int a = 5;

protected int b = 7;

public void info(){

System.out.println("Dipanggil pada "+ this.getClass().getName());

System.out.println("a= "+ a);

System.out.println("b= "+ b);

}

}

Page 12: Pemrograman Berorientasi Objek

Contoh : child class

class Delta extends Alpha

{

private int c = 9;

public void info(){

System.out.println("Dipanggil pada " + this.getClass().getName());

System.out.println("b = " + b);

System.out.println("c = " + c);

}

}

Page 13: Pemrograman Berorientasi Objek

Memanggil parent dan child class

class PenentuProtect

{

public static void main(String[] args){

Alpha objx = new Alpha();

objx.info();

Delta objy = new Delta();

objy.info();

}

}

Page 14: Pemrograman Berorientasi Objek

Metode superkelas

• Cara untuk memanggil metode superkelas dari subkelas dgn kata kunci super yang berarti superkelas.

Page 15: Pemrograman Berorientasi Objek

Contoh :

class Echo extends Alpha

{

private int c = 9;

public void info(){

super.info();

System.out.println("c = " + c);

}

}

Page 16: Pemrograman Berorientasi Objek

class superkelas

{

public static void main(String[] args)

{

Echo obj = new Echo();

obj.info();

}

}

Page 17: Pemrograman Berorientasi Objek

Konstruktor

• Konstruktor adalah metode yg dpt digunakan utk memberikan nilai awal saat objek diciptakan.

• Sifat kontruktor :

1. namanya sama dgn nama kelas

2. tidak memiliki nilai balik ( tdk boleh ada kata kunci void)

Contoh :

new Mobil(“Merah”, 2003)

Page 18: Pemrograman Berorientasi Objek

Overloading

• Overloading adalah suatu mekanisme pembuatan kontruktor yg memiliki bentuk lebih dari satu.

• Misal:

new Mobil(“Merah”,2003)

new Mobil()

Page 19: Pemrograman Berorientasi Objek

Contoh :

class Mobil{

//variabel instan

private String warna;

private int tahunproduksi;

//konstruktor pertama

public Mobil(String warna,int tahunproduksi){

this.warna = warna;

this.tahunproduksi=tahunproduksi;

}

//konstruktor kedua

public Mobil(){

}

//metode

public void info(){

System.out.println("Warna : " +this.warna);

System.out.println("Tahun : " +this.tahunproduksi);

}

}

public class kontruktor{

public static void main(String[] args){

Mobil mobilku = new Mobil("Merah", 2003);

mobilku.info();

Mobil mobilmu = new Mobil();

mobilmu.info();

}

}

Page 20: Pemrograman Berorientasi Objek

Abstract class & Abstract Method

• Method abstract adalah suatu metode yg ditentukan dari dalam kelas tetapi tidak disertai dengan definisinya.

• Class abstract adalah kelas yg tidak disertai definisinya.

Page 21: Pemrograman Berorientasi Objek

public abstract class kendaraan {

protected String nama;

public abstract void jalankan();

}

Contoh : class dan method abstact

Page 22: Pemrograman Berorientasi Objek

Contoh :tesabstrakclass Sepeda extends kendaraan{

public Sepeda(String nama){

this.nama = nama;

}

public void jalankan(){

System.out.println("Duduklah di atas sadel " +this.nama + " dan kayuhlah..");

}

}

class Minibus extends kendaraan{

public Minibus(String nama){

this.nama = nama;

}

}

public void jalankan(){

System.out.println("Duduklah di atas setir " +this.nama + " dan hidupkan mesin..");

}

}

public class tesabstrak{

public static void main(String[] args){

Sepeda sepedaku = new Sepeda("sepeda ontel");

sepedaku.jalankan();

Minibus mobilku = new Minibus("Minibus Keri");

mobilku.jalankan();

}

}

Page 23: Pemrograman Berorientasi Objek

Interface

• Interface adalah mekanisme yg memungkinkan berbagi konstanta atau menentukan bentuk metode yg dpt digunakan oleh sejumlah kelas.

• Variabel dlm interface hanya diperkenankan utk menggunakan public static final.

Page 24: Pemrograman Berorientasi Objek

Mendeklarasikan interface

• Bentuk :

public interface namainterface{

//metode tanpa implementasi

//definisi konstanta

}

Page 25: Pemrograman Berorientasi Objek

Menggunakan interface

• Sebuah class dpt menggunakan interface melalui kata kunci implements.

• Bentuk :class namakelas1 [extends namakelas2]

implements namainterface1[,namainterface2]{

//tubuh kelas

}

Page 26: Pemrograman Berorientasi Objek

Contoh :

interface Intlampu{

public static final int keadaan_hidup =1;

public static final int keadaan_mati =0;

public abstract void hidupkan();

public abstract void matikan();

} //akhir interface

interface Intlampupenyuram extends Intlampu{

public static final int posisi_maks =10;

public static final int posisi_min =0;

public abstract void redupkan();

public abstract void buatlebihterang();

}

Page 27: Pemrograman Berorientasi Objek

Contoh :

class lampupenyuram implements Intlampupenyuram{

private int statuslampu = 0;

public void hidupkan(){

this.statuslampu = posisi_maks;

System.out.print("hidupkan!: ");

System.out.print("Lampu hidup. ");

System.out.println("Posisi tombol : " + this.statuslampu);

}

public void matikan() {

this.statuslampu = posisi_min;

System.out.print("Matikan ! : ");

System.out.println("Lampu mati.");

}

Page 28: Pemrograman Berorientasi Objek

Contoh:

public void redupkan(){

if (this.statuslampu != posisi_min);

this.statuslampu--;

System.out.print("redupkan! : ");

if (this.statuslampu ==posisi_min)

System.out.println("Lampu mati");

else {

System.out.print("Lampu Hidup. ");

System.out.println("Posisi tombol : " + this.statuslampu);

}

}

Page 29: Pemrograman Berorientasi Objek

Contoh:

public void buatlebihterang(){

if (this.statuslampu != posisi_maks);

this.statuslampu++;

System.out.print("Buat lebih terang ");

System.out.print("Lampu Hidup. ");

System.out.println("Posisi tombol : " + this.statuslampu);

}

} //akhir kelas

Page 30: Pemrograman Berorientasi Objek

Contoh:

public class tesinterface{

public static void main(String[] args){

lampupenyuram lampukamar = new lampupenyuram();

lampukamar.hidupkan();

lampukamar.redupkan();

lampukamar.redupkan();

lampukamar.buatlebihterang();

lampukamar.matikan();

lampukamar.buatlebihterang();

}

}