0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan16 halaman
Dokumen tersebut membahas tentang konsep pewarisan (inheritance) dalam pemrograman berorientasi objek. Inheritance memungkinkan suatu kelas turunan mewarisi atribut dan metode dari kelas induknya. Dokumen ini menjelaskan definisi inheritance, deklarasi kelas turunan dengan kata kunci extends, konstruktor tidak diwariskan, dan contoh penerapan inheritance pada kelas Pegawai dan Manajer.
Dokumen tersebut membahas tentang konsep pewarisan (inheritance) dalam pemrograman berorientasi objek. Inheritance memungkinkan suatu kelas turunan mewarisi atribut dan metode dari kelas induknya. Dokumen ini menjelaskan definisi inheritance, deklarasi kelas turunan dengan kata kunci extends, konstruktor tidak diwariskan, dan contoh penerapan inheritance pada kelas Pegawai dan Manajer.
Dokumen tersebut membahas tentang konsep pewarisan (inheritance) dalam pemrograman berorientasi objek. Inheritance memungkinkan suatu kelas turunan mewarisi atribut dan metode dari kelas induknya. Dokumen ini menjelaskan definisi inheritance, deklarasi kelas turunan dengan kata kunci extends, konstruktor tidak diwariskan, dan contoh penerapan inheritance pada kelas Pegawai dan Manajer.
Definisi Inheritance (1) • Inheritance (Pewarisan) merupakan salah satu 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.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Definisi Inheritance (2) • Suatu class yang mempunyai class turunan dinamakan parent class atau base class. • Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. • Suatu subclass dapat mewarisi apapun (atribut dan method) yang dipunyai oleh parent class.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Definisi Inheritance (3) • Karena suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass terdiri dari apapun yang ia punyai dan juga apapun yang ia warisi dari class parent-nya. • Kesimpulannya, bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Deklarasi inheritance (1) • Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. • Kata kunci extends tersebut memberitahu compiler Java bahwa kita ingin melakukan perluasan class.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Deklarasi inheritance(2) public class Sedan extends Mobil { … }
Artinya : class Sedan mewarisi Class
Mobil
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Kapan kita menerapkan inheritance? • Saat kita jumpai ada suatu class yang dapat diperluas dari class lain.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Contoh Inheritance (1) public class Pegawai { public String nama; public double gaji; } public class Manajer { public String nama; public double gaji; public String departemen; } Program Studi Teknologi Informasi Fakultas Sains dan Teknologi UIN Walisongo Contoh Inheritance (2) • Dari 2 buah class diatas, kita lihat class Manajer mempunyai atribut yang identik (sama) dengan class Pegawai, hanya saja ada tambahan atribut departemen. • Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan atribut departemen. • Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut
Public class Manajer extends Pegawai {
public String departemen; }
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Pengaksesan member yang dideklarasikan di parent class dari subclass • Pengaksesan member (atribut dan method) yang ada di parent class dari subclass-nya tidak berbeda dengan pengaksesan member subclass itu sendiri. • Misalnya di class Manajer kita ingin mengakses atribut nama melalui sebuah function member IsiData(), sekaligus kita juga ingin mengakses atribut departemen di class Manajer.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Contoh public class Manajer extends Pegawai { public String departemen;
public void IsiData(String n, String d) {
nama=n; departemen=d; } } Program Studi Teknologi Informasi Fakultas Sains dan Teknologi UIN Walisongo Kontrol Pengaksesan • Dalam dunia riil, suatu entitas induk bisa saja tidak mewariskan sebagian dari apa-apa yang ia punyai kepada entitas turunan karena sesuatu hal. • Demikian juga dengan konsep inheritance dalam OOP. • Suatu parent class dapat tidak mewariskan sebagian member- nya kepada subclass-nya. • Sebagai contoh, coba memodifikasi class Pegawai agar atribut nama tidak dapat diwariskan kepada class manager.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Konstruktor tidak diwariskan (1) • Konstruktor dari parent class tidak dapat diwariskan ke subclass- nya. • Konsekuensinya, setiap kali kita membuat suatu subclass, maka kita harus memanggil konstruktor parent class di konstruktor subclass. • Pemanggilan konstruktor parent harus dilakukan pada baris pertama dari konstruktor subclass. • Jika kita tidak mendeklarasikannya secara eksplisit, maka kompiler Java akan menambahkan deklarasi pemanggilan konstruktor parent class di konstruktor subclass.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Konstruktor tidak diwariskan (2) • Sebelum subclass menjalankan konstruktornya sendiri, subclass akan menjalankan constructor superclass terlebih dahulu. • Hal ini terjadi karena secara implisit pada constructor subclass ditambahkan pemanggilan super()yang bertujuan memanggil constructor superclass oleh compiler.
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Contoh (1) • Pada saat program tersebut dikompilasi, maka kompiler Java akan menambahkan : • konstruktor class Parent • konstruktor class Child • pemanggilan konstruktor class Parent di konstruktor class Child
Program Studi Teknologi Informasi
Fakultas Sains dan Teknologi UIN Walisongo Contoh (2)