Advertisement
Rahmadnet

Revisi Inheritance

Feb 12th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.55 KB | None | 0 0
  1. 1.what is inheritance
  2.  
  3.     * Inheritance merupakan suatu proses menurunkan sifat(atribut,method) dari kelas utama kesuatu kelas lainnya.
  4.     * Atau bisa dibilang kelas orang tua mewarisi atribut dan method ke suatu kelas anak nya.
  5.     * Setiap kelas utama (orang tua) dapat mewarisi lebih dari satu kelas anak.
  6.     * Namun setiap kelas anak hanya dapat mewarisi satu kelas orang tua.
  7.     * Di java untuk melakukan pewarisan dapat menggunakan keyword extends.
  8.    
  9.     "Contoh kelas orang tua"
  10.     public class orangtua
  11.     {
  12.         public void makan()     // method
  13.         {
  14.             System.out.println("Makan Lauk Sate");
  15.         }
  16.     }
  17.  
  18.     "Contoh kelas anak"
  19.     public class anak extends orangtua
  20.     {
  21.         // maka semua sifat kelas orang tua(method makan) sudah diwarisi kelas anak
  22.     }
  23.  
  24. 2.what are their benefit
  25.  
  26.     Pada saat ingin membuat class baru dan ternyata pada class lain
  27.     telah ada code yang kita inginkan ,maka kita memanggil extend
  28.     class lain tersebut.
  29.  
  30. 3.whar are their drawback
  31.  
  32.     *Menghabiskan banyak memori computer
  33.     *kecepatan terlalu lambat dibandingkan program bahasa C dan C++
  34.     *Tidak efektif untuk membuat sebuah program
  35.  
  36. 4.when to use it at best
  37.     Kita baru menerapkan inheritance pada saat kita jumpai ada suatu class
  38.     yang dapat diperluas dari class lain.
  39.  
  40. 5.when to NOT use it
  41.  
  42.     Kita tidak perlu menerapkan  inheritance apabila kita tidak perlu memiliki
  43.     perluasan class
  44.  
  45. 1. kelas utama
  46.     // kelas utama
  47. public abstract class KartuDonorDArah
  48. {
  49.     private double no_id;
  50.     private String nama;
  51.     private String tmp_lahir;
  52.     private String gol_darah;
  53.     private String wilayah;
  54.     private String alamat;
  55.     private String jns_kelamin;
  56.     private String no_hp;
  57.     private String tgl_lahir;
  58.    
  59.     // Construktor parameter kelas KartuDonorDarah
  60.     public KartuDonorDArah(double no_id, String nama, String tmp_lahir,
  61.                            String gol_darah, String wilayah, String alamat,
  62.                            String jns_kelamin, String no_hp, String tgl_lahir)
  63.     {
  64.         this.no_id = no_id;             this.wilayah = wilayah;
  65.         this.nama = nama;               this.alamat = alamat;
  66.         this.tmp_lahir = tmp_lahir;     this.jns_kelamin = jns_kelamin;
  67.         this.gol_darah = gol_darah;     this.no_hp = no_hp;
  68.         this.tgl_lahir = tgl_lahir;
  69.     }
  70.    
  71.       // Metode getNo_id dinyatakan final
  72.      // jadi setiap kelas memanjang
  73.     // KartuDonorDarah tidak dapat di Override
  74.     public final double getNo_id()
  75.     {
  76.         return no_id;
  77.     }
  78.    
  79.       // Metode getName dinyatakan final
  80.      // jadi setiap kelas memanjang
  81.     // KartuDonorDArah tidak dapat di Override
  82.     public final String getNama()
  83.     {
  84.         return nama;
  85.     }
  86.    
  87.      // Metode getTmp_lahir dinyatakan final
  88.      // jadi setiap kelas memanjang
  89.     // KartuDonorDArah tidak dapat di Override
  90.     public final String getTmp_lahir()
  91.     {
  92.         return tmp_lahir;
  93.     }
  94.    
  95.      // Metode getGol_darah dinyatakan final
  96.      // jadi setiap kelas memanjang
  97.     // KartuDonorDArah tidak dapat di Override
  98.     public final String getGol_darah()
  99.     {
  100.         return gol_darah;
  101.     }
  102.    
  103.      // Metode getWilayah dinyatakan final
  104.      // jadi setiap kelas memanjang
  105.     // KartuDonorDArah tidak dapat di Override
  106.     public final String getWilayah()
  107.     {
  108.         return wilayah;
  109.     }
  110.    
  111.      // Metode getAlamat dinyatakan final
  112.      // jadi setiap kelas memanjang
  113.     // KartuDonorDArah tidak dapat di Override
  114.     public final String getAlamat()
  115.     {
  116.         return alamat;
  117.     }
  118.    
  119.      // Metode getJns_kelamin dinyatakan final
  120.      // jadi setiap kelas memanjang
  121.     // KartuDonorDArah tidak dapat di Override
  122.     public final String getJns_kelamin()
  123.     {
  124.         return jns_kelamin;
  125.     }
  126.    
  127.      // Metode getNo_hp dinyatakan final
  128.      // jadi setiap kelas memanjang
  129.     // KartuDonorDArah tidak dapat di Override
  130.     public final String getNo_hp()
  131.     {
  132.         return no_hp;
  133.     }
  134.    
  135.      // Metode getTgl_lahir dinyatakan final
  136.      // jadi setiap kelas memanjang
  137.     // KartuDonorDArah tidak dapat di Override
  138.     public final String getTgl_lahir()
  139.     {
  140.         return tgl_lahir;
  141.     }
  142.    
  143.     // Method getArea dinyatakan abstrak karena
  144.     // pada subclass untuk memberikan
  145.     // selesaikan implementasi
  146.     abstract String getArea();
  147.  
  148. }
  149.  
  150. 2. kelas pertama
  151.     // kelas yang pertama
  152. public class Peserta_pertama extends KartuDonorDArah
  153. {
  154.     // Parameter construktor class Peserta_pertama
  155.     public Peserta_pertama(double no_id, String nama, String tmp_lahir,
  156.                String gol_darah, String wilayah, String alamat,
  157.                String jns_kelamin, String no_hp, String tgl_lahir)
  158.     {
  159.         // Memanggil construktor class KartuDonorDarah
  160.         super(no_id, nama, tmp_lahir, gol_darah, wilayah, alamat, jns_kelamin, no_hp, tgl_lahir);
  161.     }
  162.  
  163.         // Method getArea di ganti dan dinyatakan sebagai
  164.         // final sehingga setiap kelas di perpanjang
  165.         // peserta_pertama tidak dapat dapat di Override
  166.     @Override
  167.     String getArea() {
  168.         // TODO Auto-generated method stub
  169.         return null;
  170.     }
  171. }
  172.  
  173. 3. Kelas kedua
  174.     // Kelas yang kedua
  175. public class Peserta_kedua extends KartuDonorDArah
  176. {
  177.     // Parameter construktor class Peserta_kedua
  178.     public Peserta_kedua(double no_id, String nama, String tmp_lahir,
  179.                            String gol_darah, String wilayah, String alamat,
  180.                            String jns_kelamin, String no_hp, String tgl_lahir)
  181.     {
  182.         // Memanggil construktor class KartuDonorDarah
  183.         super(no_id, nama, tmp_lahir, gol_darah, wilayah, alamat, jns_kelamin, no_hp, tgl_lahir);
  184.     }
  185.    
  186.     // Method getArea di ganti dan dinyatakan sebagai
  187.     // final sehingga setiap kelas di perpanjang
  188.     // peserta_kedua tidak dapat dapat di Override
  189.     @Override
  190.     String getArea() {
  191.         // TODO Auto-generated method stub
  192.         return null;
  193.     }
  194. }
  195.  
  196. 4. Kelas main
  197.  
  198.     // Kelas main
  199. public class Test
  200. {
  201.     public static void main(String[] args)
  202.     {
  203.         // membuat objek Peserta_pertama
  204.         KartuDonorDArah k1 = new Peserta_pertama(01, "Rahmad", "Medan", "O",
  205.                                                 "Yogya-Karta", "Ponok Programmer-Kretek",
  206.                                                 "Laki-Laki", "0812345678", "14-juni-1995");
  207.         // membuat objek Peserta_kedua
  208.         KartuDonorDArah k2 = new Peserta_kedua(02, "Fatimah", "Lampung", "A",
  209.                                                "Bantul", "Jl.Istimewa Yogyakarta",
  210.                                                "Wanita", "0813343536", "20-mei-2010");
  211.        
  212.                 // Method geting Peserta_pertama
  213.                 System.out.println("          KARTU DONOR DARAH"
  214.                         + "\n      \tUDD PMI Kota Yogyakarta");
  215.         System.out.println("___________________________________________\n");
  216.        
  217.         System.out.println("No.ID           : "+k1.getNo_id());
  218.         System.out.println("Nama            : "+k1.getNama());
  219.         System.out.println("Tempat Lahir    : "+k1.getTmp_lahir());
  220.         System.out.println("Tanggal Lahir   : "+k1.getTgl_lahir());
  221.         System.out.println("Alamat          : "+k1.getAlamat());
  222.         System.out.println("Wilayah         : "+k1.getWilayah());
  223.         System.out.println("Telepon         : "+k1.getNo_hp());
  224.         System.out.println("Jenis Kelamin   : "+k1.getJns_kelamin());
  225.         System.out.println("Golongan Darah  : "+k1.getGol_darah());
  226.        
  227.         System.out.println("");
  228.         System.out.println("");
  229.        
  230.         // Method geting Peserta_kedua
  231.         System.out.println("          KARTU DONOR DARAH"
  232.                 + "\n      \tUDD PMI Kota Yogyakarta");
  233.         System.out.println("___________________________________________\n");
  234.        
  235.         System.out.println("No.ID          : "+k2.getNo_id());
  236.         System.out.println("Nama           : "+k2.getNama());
  237.         System.out.println("Tempat Lahir   : "+k2.getTmp_lahir());
  238.         System.out.println("Tanggal Lahir  : "+k2.getTgl_lahir());
  239.         System.out.println("Alamat         : "+k2.getAlamat());
  240.         System.out.println("Wilayah        : "+k2.getWilayah());
  241.         System.out.println("Telepon        : "+k2.getNo_hp());
  242.         System.out.println("Jenis Kelamin  : "+k2.getJns_kelamin());
  243.         System.out.println("Golongan Darah : "+k2.getGol_darah());
  244.     }
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement