Jumat, 15 Agustus 2014

Inheritance

Inheritance
         Dapat memperoleh variabel dan fungsi dari kelas lain yang sudah ada.
         Fitur Powerfull.
         Impilicit atau pernyataan eksplisit.
         Semua kelas di Jawa termasuk kelas yang membangun Java API, adalah warisan dari Object kelas

Superclass and Subclass
         Kelas yang menerima dari kelas lain, yang disebut Subclass (kelas turunan, kelas diperpanjang atau kelas anak)
         Superclass juga disebut sebagai kelas induk
         Subclass diberikan hak dan lulus untuk mengakses data anggota (bidang / variabel, metode, dan kelas bersarang) di supernya.
         Constructor bukan anggota sehingga tidak diwarisi oleh subclass
         Memungkinkan menambahkan data anggota baru dalam subclass
Apa yang dilakukan di Subclass
         Sebuah Subclass mewariskan semua hak untuk mengakses kedua publik dan dilindungi oleh superclass-nya, terlepas dari mana paket dari subclass berada.
         Jika subclass memiliki paket yang sama dengan superclass sehingga subclass juga akan mendapatkan warisan dari anggota paket-pribadi dari superclass-nya.
         Gunakan meluas untuk mengakses kelas induk
         Tidak diizinkan untuk menerima beberapa warisan dari lebih dari satu kelas induk
Keyword super
         Keyword ini mengacu objek dalam kelas.
         Keyword yang super mengacu pada superclass dari class pemanggil nya.
         2 cara menggunakan keyword super :
        Memanggil konstruktor superclass
         Example: super() or super( parameters )
        Memanggil method superclass.
         Example: super.method( parameters )
public void printRadius()
{
            System.out.println(“Radius of a circle is ” + supper.getRadius() );
}
Example of Inheritance :
Parent Class (superclass) : Bicycle.java
public class Bicycle
{
            public int gear;
            public int speed;
            // constructor from class Bicycle with passing parameter
            public Bicycle( int startSpeed, int startGear )
            {
                        gear = startGear;
                        speed = startSpeed;
            }
            public void setGear ( int newValue )
            {
                        gear = newValue;
            }
            public void applyBrake ( int decrement )
            {
                        speed -= decrement;
            }
            public void speedUp ( int increment )
            {
                        speed += increment;
            }
}
Keuntungan dari Inheritance
Keuntungan dalam OOP: Reusability
v  Ketika perilaku (metode) ini dideklarasikan pada superclass, perilaku yang secara otomatis diwariskan kepada semua subclass
v  hanya bisa mengkodekan metode sekali dan metode bisa digunakan oleh semua subclass
v  Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya dengan induknya
Overriding VS Overloading
         Overriding :
        Subclass memodifikasi metode yang telah didefinisikan oleh superclass.
        Fungsi dideklarasikan di subclass harus memiliki tanda tangan yang sama (nama, jumlah dan jenis parameter data) dan kembali metode nilai dengan yang di superclass
         Overloading :
        Lebih dari satu fungsi yang memiliki nama yang sama dengan yang di superclass.
        Fungsi dideklarasikan di subclass harus tidak memiliki tanda tangan yang sama (nama, jumlah dan jenis parameter data) dan kembali metode nilai dengan yang di superclass
Final Class and Method
Final Class
  • Kelas yang tidak bisa meluas
  • Untuk mendeklarasikan kelas akhir, kita bisa menulis,
                        public final ClassName
                        {
                                    . . .
                        }

                        Example:
                        public final class Person
                        {

           
                        . . .
                        }
                        Contoh lain dari kelas terakhir adalah kelas wrapper dan String.
Final Class and Method
Method Final
  • Metode yang tidak bisa diganti
  • Untuk mendeklarasikan metode akhir, kita bisa menulis,
                        public final return_Type  method_Name ( parameters )
                        {
                                    . . .
                        }
            Example :
public final String getName()
            {

                        return name;
           
}
            metode statis otomatis adalah metode akhir.


Tidak ada komentar:

Posting Komentar