MINGGU 8 Java Programming (MKB614C)

Slides:



Advertisements
Presentasi serupa
Membuat class sendiri.
Advertisements

Other OOP Basic Viska Mutiawani, M.Sc. Konsep penting Method overloading Encapsulation this keyword final static.
ABSTRACT CLASS Imam Fahrur Rozi.
Object Oriented Programming
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Inheritance Ery Setiyawan Jullev A.
POLIMORFISM Ery Setiyawan Jullev A.
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
Encapsulation, Inheritance, polymorphism, dan interface
MINGGU 5 Java Programming (MKB614C)
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Class, Inheritance, Encapsulation & Interface
Pemrograman Aplikasi Bergerak
Pemrograman Berorientasi Obyek Oleh Tita Karlita
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
Abstract Class.
Object Oriented Struktur Data.
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
MINGGU 4 Java Programming (MKB614C)
Pemrograman Berorientasi Obyek dengan JAVA Interface
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
Desain Berorientasi object
Object Oriented Programming with JAVA 2011/2012
Object Oriented Programming with JAVA 2011/2012
Inheritance, polymorphism, dan interface
Kelas Lanjut 2 Oleh Tita Karlita.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Algoritma &Pemrograman 1
MATERI IV OOP (Object Oriented Programming) Chapter II.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
MINGGU 7 Java Programming (MKB614C)
Perancangan dan Pemrograman Web
BAB contoh penerapan inheritance dan encapsulation
FONDASI PEMROGRAMAN & STRUKTUR DATA #5
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Access Modifier.
Pemograman Berorientasi Objek
Objek-Oriented Programming (OOP)
Algoritma & Pemrograman 1
BAB ENCAPSULATION ( Enkapsulasi )
Outline: Abstract Class Interface Boxing dan Unboxing
Algoritma & Pemrograman 1
Enkapsulasi, Accessor Method, Mutator Method
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Matakuliah : M0864/Programming I
Membuat Kelas.
Pendahuluan PBO.
PBO Lanjutan Membuat Kelas.
Pemrograman Berorientasi Object
Pemrograman Berorientasi Object
Dasar-dasar Pemrograman Objek dg Java
Object Oriented Programming
Interface pada Java Untuk memahami lebih mudah, interface sekumpulan dari method-method yang dibuat tapi belum ada operasi di dalam tubuh method tersebut,
Pemrograman Berorientasi Objek
Java Class Library.
@kovazzevic | SMKN 24 Jakarta
Pengenalan Pemrograman 1
Pemrograman berorientasi objek
Pemrograman Berorientasi Objek
FONDASI PEMROGRAMAN & STRUKTUR DATA #4 - 1
Dasar Pemrograman Java H. Risdiandri Iskandar, SKom,MM 1.
Transcript presentasi:

MINGGU 8 Java Programming (MKB614C) Pokok Bahasan: Classes Abstract and Interfaces Tujuan Instruksional Khusus: Siswa memahami konsep class abstract & interface di Java Java Programming (MKB614C) Minggu 8 Page 1

Java Programming (MKB614C) Agenda Class abstract Interface Comparable interface Cloneable interface Interfaces vs abstract Java Programming (MKB614C) Minggu 8 Page 2

Java Programming (MKB614C) Class abstract Class abstract tidak dapat digunakan membuat object (instan object). Class abstract dapat memiliki abstract method, yang implementasinya dilakukan di subclass konkret. Java Programming (MKB614C) Minggu 8 Page 3

Contoh class abstract public abstract class GeometricObject { // properties …… // methods /** Abstract method getArea */ public abstract double getArea(); /** Abstract method getPerimeter */ public abstract double getPerimeter(); }

Kesimpulan class abstract Method abstract tidak dapat berada dalam non klass non abstract. Jika subclass tidak mengimplementasi method abstract, maka subclass tersebut harus mendefinisikan method tersebut sebagai abstract. Method abstract tidak boleh static. Class abstract tidak dapat diinstantiate menggunakan operator new. Class abstract boleh tidak mengandung method abstract. Subclass dapat meng-override method dari superclass menjadi abstract. Hal ini terjadi saat method di superclass tidak valid di subclass, sehingga harus didefinisikan sebagai abstract. Sublcass dapat berupa abstract, meskipun sueprclassnya concrete. Contoh class Object concreate, tapi GeometricObject abstract. Merskipun tidak diinstantiate, namun dapat digunakan sebagai tipe data. Contoh: GeometricObject[] obj = new GeometricObject[3];

Latihan Kerjakan: LISTING 13.1 GeometricObject.java LISTING 13.2 Circle.java LISTING 13.3 Rectangle.java LISTING 13.4 TestGeometricObject.java

Interface Interface adalah class yang hanya memilki nilai constants dan method abstract. Interface mirip dengan class asbtract, tapi ditujukan untuk menspesifikasi kerakter umum untuk object. Contoh: interface digunakan untuk menspesifikasi sebuah object comparable, editable dan atau cloneable. Syntax: modifier interface InterfaceName { /** Constant declarations */ /** Abstract method signatures */ }

Latihan Kerjakan: LISTING 13.7 TestEdible.java

Interface Compareble Interface Comparable (java.lang) digunakan untuk mendefinisikan karakteristik object yang mengimplementasikannya, dapat dibandingkan dengan object sejenis. Contoh: Integer i = new Integer(50); if (i instanceof Comparable) { System.out.println("i Comparable"); } String s = "Hello World"; if (s instanceof Comparable) { System.out.println("s Comparable"); java.util.Date d = new java.util.Date(); if (d instanceof Comparable) { System.out.println("d Comparable");

Interface Cloneable Interface Cloneable (java.lang) digunakan untuk mendefinisikan karakteristik object yang mengimplementasikannya, dapat diclone. Contoh: ArrayList<Double> list1 = new ArrayList<>(); list1.add(1.5); list1.add(2.5); list1.add(3.5); ArrayList<Double> list2 = (ArrayList<Double>)list1.clone(); ArrayList<Double> list3 = list1; list2.add(4.5); list3.remove(1.5); System.out.println("list1 is " + list1); System.out.println("list2 is " + list2); System.out.println("list3 is " + list3); list1 is [2.5, 3.5] list2 is [1.5, 2.5, 3.5, 4.5] list3 is [2.5, 3.5]

Deep Clone xxx

Perbedaan interface dengan abstract Variable Constructor Method Abstract No restriction Constructor melibatkan rantai subclass Interface Harus Public static final Tidak dapat di instantiate Harus public

Mendesain class Cohesion: class harus mendefisikan 1 entitas dan memuat semua logikalnya. Contoh class Student tidak dapat digabung dengan class Staff. Consistency: ikuti standar gaya dan penamanan yang berlaku dalam pemrograman Java. Contoh fungsi length() memiliki penamaan yang sama untuk class String, StringBuilder dan StringBuffer. Encapsulation: class harus menggunakan modifer private untuk menyembunyikan data dari akses secara langsung. Clarity: cohesion, consistency dan encapsulation menjamin desain class yang jelas, mudah dijelaskan dan mudah dipahami. Contoh class Loan memiliki property loanAmount, numberOfYears dan annualInterestRate. Completeness: class harus didisain untuk memenuhi semua kebutuhan yang berbeda. Contoh class String memiliki 40 method untuk kebutuhan aplikasi yang berbeda. Instance vs static: variabel/method yang tergantung pada instance dari suatu class, harus instance variable/method. Variable yang digunakan oleh semua instance dapat di dideklar variable static. Method yang tidak bergantung pada spesifik instance, dapat dideklar method static. Contoh method factorial(int n) dapat dideklar static. Inheritance vs aggregation: inheritance berhubungan dengan is-a (adalah) dan aggregation berhubungan dengan has-a (memiliki). Contoh apple is a fruit, maka digunakan hubungan inheritance. Sedangkan person memiliki nama, maka digunakan hubungan aggregation. Interface vs class abstract: untuk hubungan yang kuat digunakan class abstract, contoh apple dengan fruit. Untuk hubungan yang lemah dapat digunakan interface, contoh apple dengan Cloneable.

Review & Latihan W08 Email ke: agung.made@kwikkiangie Subject: W08 no_mahasiswa Contoh: W08 12345678 Dwiyanti Nilai: Pengumpulan sebelum minggu depan 100 Pengumpulan setelah minggu depan 60 Tidak mengumpulkan atau melewati UTS/UAS 0.

This displays the calendar shown in Figure (Display calendars) Rewrite the PrintCalendar class in Listing 6.12 to display a calendar for a specified month using the Calendar and GregorianCalendar classes. Your program receives the month and year from the command line. Forexample: java Exercise13_04 5 2016 This displays the calendar shown in Figure