1 / 26

Abstract Class & Interface

Abstract Class & Interface. Viska Mutiawani , M.Sc. Konsep Penting. Abstract class Abstract method Interface Implements Final Static Exception. Contoh Polimorfisme. Lihat contoh program yang disediakan pada polimorfisme. Method getArea () pada Shape. Apa yang terjadi jika :

Download Presentation

Abstract Class & Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abstract Class & Interface ViskaMutiawani, M.Sc

  2. KonsepPenting • Abstract class • Abstract method • Interface • Implements • Final • Static • Exception

  3. ContohPolimorfisme • Lihatcontoh program yang disediakanpadapolimorfisme.

  4. Method getArea() pada Shape • Apa yang terjadijika: public class TestShape { public static void main(String[] args) { // Constructing a Shape instance poses problem! Shape s3 = new Shape("green"); System.out.println(s3); System.out.println("Area is " + s3.getArea()); } } Method getArea() akanbermasalahjikashapenyabelumdiketahuibentukapa. Untukmengatasimasalahini, kitabuat method getArea() sebagai abstract. abstract public double getArea();

  5. Rewrite Shape as abstract

  6. Abstract Class • Padapewarisan, jika super-kelasmempunyai method yang harusdi override oleh sub-kelasnya, maka class dan method tersebutkitabuatsebagai abstract.

  7. Abstract Class • Sebagaicontoh, kitaakanmembuatsuperclassbernamaMakhlukHidup. Class inimempunyai method tertentusepertibernapas, makan, tidur, danberjalan. Akantetapi, adabeberapa method didalamsuperclass yang sifatnyatidakdapatdigeneralisasi. Kita ambilcontoh, method berjalan. • Tidaksemuamakhlukhidupberjalandalamcara yang sama. Kita manusiaberjalandengandua kaki, dimanakehidupanlainnyasepertianjingberjalandenganempat kaki.

  8. MakhlukHidup Manusia Hewan Anjing Ayam

  9. Abstract Method • Diawalidengankata abstract. • Tidakadaimplementasi. • Langsungdiakhirioleh semicolon (;). • Bertujuan agar di sub-kelasnyadi override. • Contoh:

  10. Abstract Class • Diawalidengankata abstract. • Tidakdapatdi instantiate. • Namun sub-tipetetapberlakusehinggapolimorfismetetapberlaku. • Hanya abstract class yang dapatmemiliki abstract method. • Abstract class dapatjugamempunyai method yang tidak abstract. • Abstract class memaksa sub-kelasutk override abstract method. Jikatidak, maka sub-kelasharusjugabertipe abstract.

  11. Abstract Class • Jika sub-kelastidakmeng-override abstract method, pastiakanmuncul error, contoh:

  12. Contoh • Contoh class pd Java API.

  13. Catatan • Method abstract tidakdapatdideklarasifinal. Kenapa? • Method abstract tidakdapatdibuatdenganaksesprivate. Kenapa?

  14. Interface • Interface: carastandardalammenetapkansifat-sifatumumdari class. • Interface jugabersifatpolimorfisme. • Interface digunakanuntukmengatasikemiripan-kemiripanpadakelas yang tidakberhubungan.

  15. Interface • Anggaplahada class GarisdanBilanganBulat. Keduakelasmempunyaiperlakuanuntukmembandingkan 2 buah object garisatau 2 buah object bilanganbulat. • Karenakemiripannya, kitadapatmembuatsuatu interface Pembanding yang berisi method signature (tanpaimplementasi) berkaitandenganperbandingan 2 objek.

  16. Interface • Diawalidengankatakunciinterface, bukan class. • Method pada interface adalah abstract karenatidakmemerlukanimplementasi. (namuntanpa keyword abstract) • Interface tidakmengandung method constructor. • Semua method beraksespublic. Katakunci public tidakharusdideklarasikan. • Field secaraotomatismenjadi public static final.

  17. Contoh • Contoh pd Java API. Interface ActionListener

  18. Final • Katakunci final jikadigunakanpada method maka method tersebuttidakdapatdi override. • Contohpada class String.

  19. Static • Jika method dideklarasi static, pemanggilan method diluardarikelasharusmemasukkannamakelasnyajuga. • Contoh:

  20. Exception • Exception: pengecualian • Exception: suatuperistiwa yang munculsewaktueksekusi program, yang mengganggujalannyainstruksinormalpada program. • Cara handle: • Blok try-catch-finally • Throws exception pada class

  21. Contoh program ygdapatmenimbulkan Exception • Jikapada class BilanganBulat pd project garis-bulatkitatambahkan method bagi, sepertiini: public double bagi(int y) { double z = 0; z = x / y; return z; } • Makaakandapatmenghasilkan exception jikanilai y yang dimasukkanadalah 0.

  22. Cara antisipasi exception • Buatblok try-catch: public double bagi(int y) { double z = 0; try{ z = x / y; } catch (Exception e){ System.out.println("Masukkannilai y yang bukan 0"); } return z; }

More Related