Kamis, 15 Desember 2016

Tugas E - Learning

Keuntungan Inheritance

1.       Metode didefinisikan pada super class, maka perilaku perilaku tersebut tersebut secara otomatis otomatis diwariskan ke subclass. Sehingga hanya perlu menulis method sekali dan bisa digunakan untuk semua subclass.

2.      Sekali properti/field di definisikan di superclass, maka semua p p ro erti di wariskan ke semua subclass. Superclass dan subclass berbagi properti – Subclass hanya perlu mengimplementasikan jika ada perbedaan dengan parentnya.

Kapan Menggunakan Enheritance

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

Cara Mewariskan Kelas

Misal terdapat class Pegawai
public class Pegawai {
public String nama;
public double gaji;
public double gaji;
}
Misal terdapat class Manager
public class Manajer {
 public String nama;
public double gaji;
ublic String departemen;
}
Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data member departemen.  Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member departemen tambahan data member departemen.  Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut :
public class Manajer extends Pegawai {
public String departemen;
}

Kontrol Pengaksesan


Private     : Variabel dan method yang dideklarasikan Variabel dan method yang dideklarasikan private hanya bisa diakses oleh class yg mendeklarasikan variabel dan method tersebut.
Protected     : Protected mempunyai kemampuan akses yang Protected mempunyai kemampuan akses yang lebih besar daripada private dan default. Class diluar package boleh melakukan melakukan subclass.
Public           : Fungsi yang dapat diakses oleh umum atau dapat diakses oleh siapa saja.

Cara Memanggil Metode dan Konstruktor

1.         #include <iostream>
2.         using namespace std;
3.          
4.         class BangunDatar{
5.         protected:
6.             int lebar, tinggi;
7.         public:
8.             void set_values(int a, int b){
9.                 lebar = a;
10.               tinggi = b;
11.           }
12.       };
13.        
14.       class Tampilkan{
15.       public:
16.           void Say(string i){
17.               cout << '"' << i << '"' << endl;
18.           }
19.       };
20.        
21.       class Kotak: public BangunDatar, public Tampilkan{
22.       public:
23.           int luas(){
24.               return (lebar * tinggi);
25.           }
26.       };
27.        
28.       class Segitiga: public BangunDatar, public Tampilkan{
29.       public:
30.           int luas(){
31.               return (lebar * tinggi / 2);
32.           }
33.       };
34.        
35.       int main(){
36.           Kotak kotakku;
37.           Segitiga segitigaku;
38.        
39.           kotakku.set_values(3,4);
40.           segitigaku.set_values(3,4);
41.        
42.           cout << kotakku.luas() << endl;
43.           cout << segitigaku.luas() << endl;


Contoh Program Menggunakan Konsep Pewarisan

class Parent {
public int x = 5;
}
class Child extends Parent {
public int x = 10;

public void Info(int x) {
System.out.println("Nilai x sebagai parameter = " + x);
System.out.println("Data member x di class Child = " + this.x);
System.out.println("Data member x di class Parent = " + super.x);
}
}
public class NilaiX {
public static void main(String args[]) {
Child tes = new Child();
tes.Info(20);
}
}


Kelas Diagram


Output Inheritance


Note = output dari koding cara memanggil metode dan konstruktor diatas