0% menganggap dokumen ini bermanfaat (0 suara)
124 tayangan8 halaman

Modul 04 Pewarisan Tunggal

Diunggah oleh

Muhammad Farhan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
124 tayangan8 halaman

Modul 04 Pewarisan Tunggal

Diunggah oleh

Muhammad Farhan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF atau baca online di Scribd
Anda di halaman 1/ 8
Praktikum Pemrograman Berorientasi Objek Semester MODUL IV Pewarisan Tunggal (Inheritance) TUJUAN 2. Mengerti dan memahami tentang konsep pewarisan tunggal (Inheritance) b. Mampu mewujudkan bentuk pewarisan tunggal dalam C++ dan Java DASAR TEORI Beberapa prinsip-prinsip yang perlu diperhatikan dalam pewarisan tunggal (Inheritance), antara lin ‘Tunggal / Inheritance Konsep yang mendasari Inheritance adalah Generalization, Generalization digambarkan sebagai hhubungan dari subclass ke superclass, sedangkan Inheritance adalah proses pewarisan data dan behaviour (method) dari superclass ke subclass. Contohnya, hewan adalah generalization dari singa, cumbuhan adalah generalization dari rumput. Sebaliknya, singa adalah inherits dari hewan dan ruput Inherits dari tumbuhan, Pewarisan (Inheritance) merupakan proses pembentukan Kelas baru dari kelas yang sudah ada (reusability). Kelas yang mewariskan disebut Kelas Super (Kelas Induk), sedangkan kelas yang diwatiskan disebut Sub Kelas (Kelas Anak). Pewarisan ini bersifat menyeluruh, sehingga semua data dan method yang dimiliki oleh kelas asalnya akan diturunkan kepada kelas baru, b. Konstruktor dan Destruktor Konstruktor dan destruktor kelas dasar tidak diwariskan kepada Kelas turunan, Kelas curunan rmenggunakan konstruktor sendiri baik konstruktor default maupun membuat konstruktor pada kelas ‘urunan itu sendiri. Inisilisasi atribue kelas dasar dilakukan dengan menggunakan konstruktor Kelas dasar yang dipanggil secara eksplisit dalam konscuktor Kelas turunan, Destruktor Kelas turunan dipanggil sebelum pemanggilan destruktor kelas dasar. Kelas turunan DAPAT mengakses setiap public member Kelas dasar, Kelas Iain juga DAPAT mengakses member kelas dasar secara langsung. Kels turunan TIDAK DAPAT mengakses private member kelas dasar, kelas in juga TIDAK DAPAT mengakses member kelas dasar secara langsung. Kelas turunan DAPAT mengakses setiap protected member Kelas dasar, cetapi Kelas hin TIDAK DAPAT mengakses member kelas dasar secara langsung . Overriding (Redefi Overrding atau sering pula disebut dengan redefinsi adalah kemampuan suatu kelas anak untuk memodifikasi (mendefinisikan kemball) data dan method dari Kelas induknya, Proses ini akan rmengubah data method dari keduanya, Kelas induk dan Kelas anaknya. Alasan mengapa dilakulan overriding antara fain jka akan dilakukan perubahan secara menyeluruh, baik jumlah maupun tipe parameter maupun behaviour pemrosesan datanya, Overriding dapat juga dilakukan jika akan Vel Praktikum Pemrograman Berorientasi Objek Semester dilakulean perubahan hanya untuk menambahkan behaviour khusus yang dimillki hanya oleh kelas anak tersebut ‘Yang perlu diperhatikan dalam melakukan overriding adalah modifier penentu aksesbilas data dan methodnya yak private, public atau protected Public Mengiinkan kelas dan sub kelas dari package manapun untuk: mengaksesnya Private Membatasi akses hanya untuk Kelas itu sendiri dan objek yang dinstans darinya. Protected ‘Akses hanya diberikan kepada Kelas itu sendiri dan sub kelas yang diturunkan darinya, Jadi, jelas bahwa overriding hanya bisa dilakukan untuk data dan method yang memiliki modifier penentu aksesbiltas public dan protected, UL GUIDED Demo! Dem: ss dinclude #include class Point // Kelas Point sebagai kelas induk Point (Sloat = 0.0, float = 0.0); //konstruktor default void cetakPoint(); //akan di-redefinisi di kelas anak ~Point (); //destruktor ds loat x,¥i a, float b) cout<< "Konstruktor Point dijalankan "< ProjectPoint Polnt /**Kelas Induk*/ public class Point ected float x,ys // Konstruktor kelas Induk t (float a, float b) system.out.print1n("Konstruktor Point dijalankan "); y= br } // Method kelas Induk blic v cakPoint() // akan di-redefinisi di kelas anak em.out.printin("Point : [" mayen]: /**Kelas Anak*/ public class Circle extends Point private float radi // Sonstruktor kelas Anak memanggil konstruktor kelas Induk e(float r, fleat a, float b) uper (a, system. out printin("Konstruktor Circle dijalankan "); // Method yang memanggil method Induk dari kelas induknya dengan menggunakan keyword super public void cetakPoint() // redefinisi fungsi kelas induk supex.cetakPoint (); System. out.printin("Radius: "tradius); Praktikum Pemrograman Berorientasi Objek Semester Main java public lass Main() /*9ain Method*/ public tatic void main( ste. // Membuat instans dari kelas anak dan memanggil dimilikinya Circle circlelenew Circle (6 1 8.2, 1. 1. cetakPoii cem.out..print Cirele circle: Le2.cetakPoint (); /*Kelas Induk*/ Mammal.java lass Mammal protected St. public void sleep() princin ("2222 222222 2222"); /*Kelas Anak*/ Dogijava class Dog extends Mammal public void speax() ( System.out.printin("Arf! Arf!"); Duckjava class Duck extends Mammal public void speak) i method yang Praktikum Pemrograman Berorientasi Objek Semester n("Quack! Qi Horsejava class Horse extends Mammal public void speak) a("Whinny! Whinny!"); © extends Mammal public void speax() i sy em.out.printin("Can you honestly leok the American " + “people in the eye i say that?"); MorleySafer java class MorleySafer extends Wammal public void speak () In ("Can I ask you a few questions about " + “your 1987 tax statement?"); Ow! javi class Owl extends Mammal public vold speax() i printin("Whoo! Whoo!") b public void sleept) i System.out.printin(" // Owl makes no noise when sleeping Praktikum Pemrograman Berorientasi Objek Semester Main.java public class Main ‘ public static void main(string[) arguments) Dog guffy = new Dogi); Duck donald = new Duck(); MorleySafer morley = new MorleySafer (); Owl woodsy = new Owl (); gutfy-nane = "Gufty"; donald.name = "Donald"; morley.name = "Morley Safez"; woodsy-name = "Woodsy"; System.oul.peintia("First we'll get the dog Lo speak:"); gut ty. speak (}s system.out.println(" "); System.oul.peintin("Now, the duck will speak:"); donald. speak (); System.out.printin(" "); System.out.printin ("Now i Morley's turn speaks"); morley. speak () System.out.printin(" "); System.out.printIn("Finally, the owl will speal ” woodsy. speak () system.out.printin(" "); System.out.printin("Time for all four to sleep: gutty-sleep () donald. sleep (); morley.sieep () woodsy. sleep () 7 CATATAN: Perhacikan main dari kelas Speak.java diatas!! Jelaskan mengapa objek gutly, donald, morley, dan woodsy dapat mengakses atribut name dan method sleep dari kelas Mammal ! Bahas dalam laporan! Praktikum Pemrograman Berorientasi Objek Semester IV, UNGUIDED Sebuah perusahaan Asuransi memiliki banyak pegawai antara lain Sales, Satpam dan Manajer dengan spesifikasi sbb ‘.Setiap pegawai memiliki NIP, nama, alamat, dan tahun masuk kerja b. Data satpam meliputi NIP, nama, alamat, gai pokok dan jam lembur «Bonus diberikan bagi Satpam yang bersedia untuk lembur dengan perhitungan Rp. 10,000/jam lembur 4, Data Sales meliputi NIP, nama, alana, gaji pokok dan jumlah pelanggan yang berhasil direkrut ©. Komisidiberikan dengan perhicungan Rp.50,000 untuk setiap pelanggan yang berhasil drekrut {Data Manajer meliputi nama, alamat, gai pokok.divsi dan tunjangan jabatan {& Tunjangan jabatan bagi Manajer diberikan jika telah bekerja selama 3 tahun sebesar 5% dari gaji pokok dan jika telah bekerja selama lebih dari § tahun sebesar 10% dari gaji pokok Buatlah sebuah Kelas Pegawai yang menjadi induk Kelas Satpam, Kelas Sales dan Kelas Manajer. Lalu implemencasikan konsep inheritance untuk menghitung gai akhir pegawai melalui method HitungGajiAlkt

Anda mungkin juga menyukai