Praktikum Class Abstract dan Interface

Slides:



Advertisements
Presentasi serupa
Other OOP Basic Viska Mutiawani, M.Sc. Konsep penting Method overloading Encapsulation this keyword final static.
Advertisements

Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
POLIMORFISME Imam Fahrur Rozi 01.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Modul 1- Review Java.
Overriding, Overloading, Polymorphism
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
Praktikum 8 Pemrograman Berbasis Obyek
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Object Oriented Struktur Data.
Pertemuan : Object Oriented Programming
Pemrograman Berorientasi Obyek dengan JAVA Interface
Desain Berorientasi object
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Polymorphism (bag. 2).
NAMA : JUMADI Npm : Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan.
OOP Java 06 Polymorphism.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Advanced Class Features 2
Kelas Lanjut 2 Oleh Tita Karlita.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Access Modifier.
Inheritance dan Kata Kunci static
POLYMORPHISM (KEBANYAKRUPAAN)
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Algoritma & Pemrograman 1
Method & Constructor METHOD.
Constructor dan Overloading
POLYMORPHISM (KEBANYAKRUPAAN)
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Pengorganisasian Class
BAB ENCAPSULATION ( Enkapsulasi )
Abstract Class.
MODIFIER JAVA.
Algoritma & Pemrograman 1
MENGENAL KEYWORD this, static, final
Pengorganisasian Class
ABSTRACT CLASS DAN INTERFACE
Enkapsulasi, Accessor Method, Mutator Method
Constructor overloading
Kelas Abstrak dan Interface
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Membuat Kelas.
PBO Lanjutan Membuat Kelas.
MENGENAL KEYWORD this, static, final
Pemrograman Berorientasi Object
Pewarisan (Inheritance)
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Pemrograman Berorientasi Objek
STUDI KASUS.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Pemrograman Berorientasi Objek
Transcript presentasi:

Praktikum Class Abstract dan Interface

Topik Abstract Class Interface

Bekerja dengan Interface dan Abstract Class

Bekerja dengan Interface dan Abstract Class (Studi Kasus 1) Pada latihan ini akan dibuat hirarki dari hewan dengan abstract class Animal sebagai root. Beberapa class hewan akan dibuat dengan mengimplementasikan suatu interface Pet. Hal yang harus dilakukan adalah mendefinisikan method-method dan melakukan polymorphism.

UML Diagram

Membuat Class Animal Animal adalah abstract superclass dari semua hewan. Buatlah protected integer attribute dengan nama legs, atribut ini digunakan untuk menyimpan informasi jumlah kaki hewan. Buatlah protected constructor yang digunakan untuk menginisialisasi variabel legs. Buatlah abstract method eat. Buatlah concrete method walk yang digunakan untuk menampilkan tulisan tentang bagaimana hewan berjalan dan jumlah kaki hewan tersebut (misal: hewan ini berjalan dengan 4 kaki).

Membuat Class Spider Class Spider merupakan anak dari class Animal. Buatlah constructor yang digunakan untuk memanggil superclass constructor, constructor ini juga digunakan untuk menginisialisasi jumlah kaki spider (kita tahu bahwa semua spider pasti mempunyai kaki sebanyak 8 buah. Implementasikan method eat.

Membuat Interface Pet Buatlah interface Pet sesuai dengan diagram UML.

Membuat Class Cat Class cat adalah anak dari class Animal dan mengimplementasikan interface Pet. Buatlah variabel name yang bertipe String yang digunakan untuk menyimpan nama Cat. (variabel ini tidak digambarkan pada UML diagram). Buatlah constructor dengan satu argumen bertipe String yang digunakan untuk mengeset nama Cat. Constructor ini juga harus memanggil superclass constructor untuk mendefinisikan bahwa Cat mempunyai kaki sebanyak 4 buah. Buatlah constructor lain yang tidak mempunyai argumen. Buat constructor ini supaya memanggil constructor pada poin sebelumnya (dengan menggunakan kata kunci this) dan passing empty string sebagai argumen (empty string  “ ”). Implementasikan method-method yang ada pada interface Pet. Implementasikan method eat (diwarisi dari class Animal).

Membuat Class Fish Class Fish adalah anak dari class Animal. Lakukan override pada semua method Animal dan definisikan bahwa ikan tidak berjalan tetapi berenang. Class Fish mengimplementasikan interface Pet Jangan lupa untuk mendefinisikan method kepunyaan interface.

TestAnimal Buat class TestAnimal yang berisi main method dengan definisi sebagai berikut: public class TestAnimals { public static void main(String[] args) { Fish f = new Fish(); Cat c = new Cat("Fluffy"); Animal a = new Fish(); Animal e = new Spider(); Pet p = new Cat(); // Demonstrate different implementations of an interface f.play(); c.play(); // Demonstract virtual method invocation e.eat(); e.walk(); // Demonstrate calling super methods a.walk(); }

Studi Kasus 2

Studi Kasus 3 https://www3.ntu.edu.sg/home/ehchua/programming/java/J3f_OOPExercises.html

Studi Kasus 3 public interface Movable { // saved as "Movable.java" public void moveUp(); ...... } public class MovablePoint implements Movable { // saved as "MovablePoint.java" // instance variables int x, y, xSpeed, ySpeed; // package access // Constructor public MovablePoint(int x, int y, int xSpeed, int ySpeed) { this.x = x; ...... } // Implement abstract methods declared in the interface Movable @Override public void moveUp() { y -= ySpeed; // y-axis pointing down for 2D graphics } ...... }

Studi Kasus 3 public class MovableCircle implements Movable { // saved as "MovableCircle.java" // instance variables private MovablePoint center; // can use center.x, center.y directly // because they are package accessible private int radius; // Constructor public MovableCircle(int x, int y, int xSpeed, int ySpeed, int radius) { // Call the MovablePoint's constructor to allocate the center instance. center = new MovablePoint(x, y, xSpeed, ySpeed); ...... } ..... // Implement abstract methods declared in the interface Movable @Override public void moveUp() { center.y -= center.ySpeed; } ...... }

Main Movable m1 = new MovablePoint(5, 6, 10); // upcast System.out.println(m1); m1.moveLeft(); System.out.println(m1); Movable m2 = new MovableCircle(2, 1, 2, 20); // upcast System.out.println(m2); m2.moveRight(); System.out.println(m2);

Studi Kasus 4