OOP dengan Java Implementasi Kelas, Method, dll.

Slides:



Advertisements
Presentasi serupa
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
Advertisements

Pemrograman Berorientasi Objek
Membuat class sendiri.
Kelas & Objek.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Workshop SCS: Java Game Programming
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Modul 1- Review Java.
Inheritance Ery Setiyawan Jullev A.
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pewarisan, Polimorfisme, dan Interface
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
METHOD Object Oriented Programming with JAVA 2011/2012.
- PERTEMUAN 4 - PERULANGAN
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
Object Oriented Programming with JAVA 2011/2012
Bekerja dengan Java class library
Object Oriented Programming with JAVA 2011/2012
Inheritance, polymorphism, dan interface
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
03 Elemen Dasar Bahasa Java
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
MEMBUAT KELAS SENDIRI Dewi Sartika, M.Kom.
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Pemrograman Visual I Outline: Method Method Void & fungsi
Access Modifier.
Inheritance dan Kata Kunci static
PBO Daniel Riano Kaparang, S.Kom., M.Cs
POLYMORPHISM (KEBANYAKRUPAAN)
Pemograman Berorientasi Objek
Objek-Oriented Programming (OOP)
Pemrograman Berorientasi Object
Pemprograman Berorientasi Objek
DASAR DASAR JAVA Dengan Netbans PBO Java.
Algoritma & Pemrograman 1
Method & Constructor METHOD.
Constructor dan Overloading
MODIFIER JAVA.
POLYMORPHISM.
Pertemuan 4 Class, object & Variable
Enkapsulasi, Accessor Method, Mutator Method
Constructor overloading
Association, Composition dan Inheritance
Pewarisan (Inheritance)
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
MEMBUAT CLASS SENDIRI 2.
Algoritma &Pemrograman 1
Class, Objek, data, variabel dan operator
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Inheritance.
Algoritma &Pemrograman 1
Pemrograman Berorientasi Object
Pemrograman Berorientasi Object
Praktikum 02 konstruksi class
Membuat Class Sendiri.
Dasar-dasar Pemrograman Objek dg Java
Algoritma dan Struktur Data
PEWARISAN Pemograman Berorientasi Objek SI Semester III
Array, Class, Obyek, Method danConstructor.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Pemrograman Berorientasi Objek
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

OOP dengan Java Implementasi Kelas, Method, dll

Property dan Method Di OOP: Data menjadi property Prosedur untuk data menjadi method Data + Prosedur menjadi kelas

Deklarasi Kelas Deklarasi kelas memiliki sintaks seperti berikut: class NamaKelas { /*0 atau lebih property*/ /*0 atau lebih method*/ }

Property Deklarasi/definisi property: Tipedata namaproperty; Tipe data adalah tipe data primitif atau kelas int x; Point p;

Method Deklarasi method sama seperti prosedur di C: public class ClassXXX{ tipekembalian method(tipe parameter) { /*isi method*/ return hasil; /*jika kembalian tidak void*/ }

Class Design Ketika akan mendesain suatu klas, pikirkan : Hal yang diketahui objek Hal yang dikerjakan objek

Class Design Hal yang diketahui objek disebut dengan instance variable Hal yang dilakukan objek disebut dengan method

Latihan

Class Design Apakah perbedaan antara class dan objek? Class bukan objek, tetapi dipergunakan untuk membangun objek

Class Design Menulis class Class Dog{ int size; String breed; String name; void bark(){ System.out.println(“Ruff! Ruff!”); }

Class Design Class Tester Class DogTestDrive{ public static void main(String[] args){ Dog d = new Dog(); d.size = 40; d.bark(); }

Variables Ada dua jenis variable Deklarasi variable Primitive Reference Deklarasi variable Variable harus punya type Variable harus punya nama int count;

Variable Variable bisa dianalogikan seperti suatu gelas/kontainer, yang berfungsi menyimpan sesuatu

Variable

Variable Jangan mengisi variable melebihi kapasitasnya! int x = 24; byte b = x; // won’t work

Reference variable Tidak ada yang namanya object variable Yang ada hanya object reference variable Object reference variable berisi bit yang merepresentasikan suatu cara untuk mengakses suatu object Untuk lebih mudahnya, reference variable bisa dianalogikan dengan suatu remote control

Primitive variable byte b = 7; Reference variable Dog d = new Dog();

3 tahap dalam object declaration, creation & assignment Deklarasi reference variable Dog d = new Dog(); Create Object Link Object & reference

Ingat : suatu class mendeskripsikan apa yang objek ketahui dan apa yang objek lakukan Objek dapat berperilaku berbeda walaupun menjalankan method yang sama kalau memiliki state yang berbeda

void play(){ soundPlayer.playSoung(title); } Song t2 = new Song(); t2.setArtist(“Travis”); t2.setTitle(“Sing”); Song s3 = new Song(); s3.setArtist(“Davis”); s3.setTitle(“My Way”); t2.play(); s3.play();

Class Dog{ int size; String name; void bark(){ if(size >60){ System.out.println(“Woof! Woof!”); } else if (size > 14){ System.out.println(“Ruff! Ruff!”); } else { System.out.println(“Yip! Yip!”); }

Method parameter Seperti halnya dengan bahasa pemrograman lainnya, di Java kita juga bisa mengirim suatu nilai pada method Dog d = new Dog(); d.bark(3); void bark(int numOfBarks){ while (numOfBarks<0){ System.out.println(“ruff”); numOfBarks = numOfBarks -1; }

Kita juga dapat memperoleh nilai balikan dari suatu method t.takeTwo(12,24); int takeTwo(int x, int y){ return x + y; } atau bisa juga int foo = 7; int bar = 5; t.takeTwo(foo, bar);

Java adalah pass-by-value Deklarasi sebuah variable dan beri nilai 7 Deklarasi sebuah method dengan int parameter yang namanya z Panggil method tsb, lewatkan variable x sebagai argumen, bit di x dicopykan ke z Ubah nilai z didalam method, nilai x tidak ikut berubah. Argumen yang dilewatkan ke parameter z adalah copy dari x

Getter dan Setter Class ElectricGuitar{ String brand int numOfPickups; boolean rockStarUseIt; String getBrand(){ return brand; } Void setBrand(String aBrand){ brand = aBrand;

Enkapsulasi Dengan .(dot) operator, kita bisa mengakses suatu variable theCat.height = 27; Kemudian ada yg melakukan theCat.height = 0; // tidak boleh terjadi! Hal tersebut bisa diatasi dengan enkapsulasi Enkapsulasi adalah suatu cara untuk menyembunyikan/membatasi akses suatu variable

Enkapsulasi Dibuatkan suatu setter & getter method public void setHeight(int ht){ if(ht>9){ height = ht; } Dengan method diatas, maka height tidak akan bernilai kurang dari 9

Enkapsulasi Buat instance variable private Sedangkan getter dan setter public

Deklarasi dan inisialisasi instance variable Instance variable selalu mempunyai default value. Jika kita tidak secara eksplisit memberi nilai tertentu pada instance variable, maka akan bernilai integer 0 floating point 0.0 booleans false reference null

Class PoorDog class PoorDog{ private int size; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; public int getSize() { return size; public void setSize(int size) { this.size = size;

Class PoorDog class PoorDogTestDrive { public static void main(String[] args){ PoorDog one = new PoorDog(); System.out.println("Dog size is " + one.getSize()); System.out.println("Dog name is " + one.getName()); }

Perbedaan antara instance variable dan local variable Instance variable dideklarasikan didalam class tetapi tidak didalam method Class Horse{ private double Height; private String breed; // more code }

Perbedaan antara instance variable dan local variable Local variable dideklarasikan didalam method class AddThing{ int a; int b = 12; public int add(){ int total = a + b; return total; }

Perbedaan antara instance variable dan local variable Local variable harus diinisialisasi sebelum dipakai class Foo { public void go(){ int x; int z = x + 3; }

PR

Pewarisan/Inheritance Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).

Pembatasan Inheritance Data dan fungsi yang dapat diwariskan hanya yang bersifat public dan protected. Untuk data dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan sifat private yang hanya dapat diakses dari dalam kelas saja.

Sifat Inheritance Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hirarki kelas unggas.

Contoh

Penjelasan (1) Sebagai kelas dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan bersayap. Kelas turunan pertama adalah Ayam, Burung dan Bebek. Tiga kelas turunan ini mewarisi sifat kelas dasar Unggas yaitu bertelur dan bersayap. Selain mewarisi sifat kelas dasar, masing-masing kelas turunan mempunyai sifat khusus, Ayam berkokok, Burung terbang dan Bebek berenang.

Penjelasan (2) Kelas Ayam punya kelas turunan yaitu Ayam Kampung dan Ayam Hutan. Dua kelas ini mewarisi sifat kelas Ayam yang berkokok. Tetapi dua kelas ini juga punya sifat yang berbeda, yaitu : Ayam Kampung berkokok panjang halus Ayam hutan berkokok pendek dan kasar.

Hirarki Program Jika hirarki kelas Unggas diimplementasikan dalam bentuk program, maka secara sederhana dapat ditulis sebagai berikut:

Penjelasan Program Dapat dilihat, bahwa kelas Ayam dan kelas Bebek dapat menjalankan fungsi Bertelur() yang ada dalam kelas Unggas meskipun fungsi ini bukan merupakan anggota kelas Ayam dan kelas Bebek. Kelas AyamKampung dapat menjalankan fungsi Berkokok() yang ada dalam kelas Ayam walaupun dua fungsi tersebut bukan merupakan anggota kelas AyamKampung. Sifat-sifat di atas yang disebut dengan pewarisan (inheritance).

P.R worksAtHospitals & makesHouseCalls boolean

Animal Kingdom instance variables : method picture food hanger boundaries location method makeNoise() eat() sleep roam()

Animal makeNoise() eat() sleep() roam() Lion Wolf Cat Dog Tiger Hippo picture food hunger boundaries location makeNoise() eat() sleep() roam() Lion Wolf Cat Dog Tiger Hippo

Apakah semua binatang makan dengan cara yang sama? Apakah semua binatang mengeluarkan suara yang sama? Animal picture food hunger boundaries location makeNoise() eat() sleep() roam() override 2 method ini

Animal makeNoise() eat() sleep() roam() Lion Wolf Cat Dog Tiger Hippo picture food hunger boundaries location makeNoise() eat() sleep() roam() Lion Wolf makeNoise() eat() makeNoise() eat() Cat Dog Tiger Hippo makeNoise() eat() makeNoise() eat() makeNoise() eat() makeNoise() eat()

Animal makeNoise() eat() sleep() roam() Feline Canine Cat Hippo Lion picture food hunger boundaries location makeNoise() eat() sleep() roam() Feline roam() Canine Cat roam() Hippo makeNoise() eat() makeNoise() eat() Lion Tiger Dog Wolf makeNoise() eat() makeNoise() eat() makeNoise() eat() makeNoise() eat()

Method apa yang akan dipanggil? Animal Wolf w = new Wolf(); w.makeNoise(); w.roam(); w.eat(); w.sleep(); makeNoise() eat() sleep() roam() Canine roam() ketika sebuah method dipanggil, kita memanggil method yang paling spesifik, atau yang paling bawah yang menang Wolf makeNoise() eat()

3 tahap dalam object declaration, creation & assignment Deklarasi reference variable Dog d = new Dog(); Create Object Link Object & reference