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

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
Pemrograman Berorientasi Objek
Membuat class sendiri.
Object and All Things Related to It Viska Mutiawani, M.Sc.
Kelas & Objek.
1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Abstract Class & Interface
Workshop SCS: Java Game Programming
Polymorphism Viska Mutiawani, M.Sc.
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Method.
Inheritance (Pewarisan)
Encapsulation, Inheritance, polymorphism, dan interface
MINGGU 5 Java Programming (MKB614C)
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
METHOD Object Oriented Programming with JAVA 2011/2012.
Object Oriented Struktur Data.
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
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)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
Try, Catch, Finally Throws
Introduction to object
FONDASI PEMROGRAMAN & STRUKTUR DATA #5
MEMBUAT CLASS & KONSEP ENCAPSULATION
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
Access Modifier.
Inheritance dan Kata Kunci static
Algoritma & Pemrograman 1
Method & Constructor METHOD.
Constructor dan Overloading
BAB ENCAPSULATION ( Enkapsulasi )
MODIFIER JAVA.
Enkapsulasi, Accessor Method, Mutator Method
Pewarisan (Inheritance)
Constructor overloading
Association, Composition dan Inheritance
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
MEMBUAT CLASS SENDIRI 2.
Membuat Kelas.
Objects in Java U Abd. Rohim, MT mailto:
PBO Lanjutan Membuat Kelas.
Praktikum 02 konstruksi class
Pewarisan (Inheritance)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
MEMBUAT CLASS & KONSEP ENCAPSULATION
Membuat Class Sendiri.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
OOP ENKAPSULASI SMKN 2 SINGOSARI Kelas XI RPL.
Inisiasi Class dan Object
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #5 - 1
Transcript presentasi:

Other OOP Basic Viska Mutiawani, M.Sc

Konsep penting Method overloading Encapsulation this keyword final static

Visualisasi Class Class divisualisasikan dalam UML sebagai kotak persegi dengan 3 ruang: ◦ Nama : identitas kelas ◦ Variabel (atribut, state, field): atribut kelas ◦ Method (behavior, function, operation) : perilaku kelas

Method Overloading Method overloading: nama methodnya sama namun beda implementasinya. Perbedaan implementasi: dibedakan oleh parameternya (jumlah parameter, tipe data parameter, urutan parameter)

Contoh

Method Overloading pada Constructor // Define the Circle class public class Circle { // Save as "Circle.java" // Private variables private double radius; private String color; // Constructors (overloaded) public Circle() { // 1st Constructor radius = 1.0; color = "red"; } public Circle(double r) { // 2nd Constructor radius = r; color = "red"; } public Circle(double r, String c) { // 3rd Constructor radius = r; color = c; } Kelas Circle memiliki 3 method Constructor. Method mana yang dipilih akan disesuaikan dengan parameter yang digunakan sewaktu mencipta objek Circle. Jika tidak ketemu padanannya akan muncul error kompilasi

public vs private public: class/variabel/method dapat diakses oleh semua objek dalam sistem. private: variabel/method dapat diakses oleh kelas itu sendiri Pada UML: public dinotasikan dengan + private dinotasikan dengan -

Encapsulation Objek tidak seharusnya membuka lebar semua informasi mengenainya. Ada informasi yang harus ditutupi dari klien. ◦ Nasabah tidak perlu tahu proses di dalam mesin ATM sewaktu penarikan Encapsulation adalah teknik mempaketkan informasi dengan menyembunyikan segala hal yg harus disembunyikan dan menampakkan segala hal yang bisa ditampakkan.

Encapsulation Satu class me-encapsulate/ membungkus data (dalam variabel) dan algoritma (dalam method). Nilai dari variabel menggambarkan kondisinya (state) Method menggambarkan perilakunya (behavior)

Information Hiding Variabel di-encapsulate dalam class dengan menggunakan akses private. Untuk mencapainya kita panggil/buat method accessor yang public. Objek saling berkomunikasi antar sesamanya dengan menggunakan antar-muka (method public). Implementasi dalam method di-encapsulate dalam class.

Keyword this Keyword this digunakan untuk merujuk pada objek ini dalam suatu class. Kegunaannya untuk menghilangkan ambigu. this dapat digunakan untuk variabel dan method. Pada constructor, this digunakan untuk memanggil constructor lain.

Method toString() Method toString() merupakan salah satu method dasar yang ada dalam class Object, yang akan mengembalikan String. Setiap class dalam Java, sebaiknya mengoverride method toString() dengan cara mencetak deskripsi umum dari objek tersebut.

Constant (final) Constant pada Java menggunakan keyword final. Variabel final hanya bisa diberi nilai sekali dan tidak bisa diubah.

Static Variabel static: variabel class Variabel static akan diinisialisasi ketika kelas diinisialisasi. Walaupun ada banyak objek hasil ciptaan suatu class yang memiliki variabel static, variabel staticnya tetaplah satu (kepunyaan class) class Test { static int a=10; static int b =100; } Variabel static dapat diakses seperti ini: Test.a=100; Test.b=200; Cara di bawah juga valid: Test t1=new Test(); Test t2=new Test(); t1.a=100; t2.a=100;

Contoh // The Circle class definition public class Circle { // Save as "Circle.java" // Public constants public static final double DEFAULT_RADIUS = 8.8; public static final String DEFAULT_COLOR = "red"; // Private variables private double radius; private String color; // Constructors (overloaded) public Circle() { // 1st Constructor radius = DEFAULT_RADIUS; color = DEFAULT_COLOR; } public Circle(double radius) { // 2nd Constructor this.radius = radius; color = DEFAULT_COLOR; } public Circle(double radius, String color) { // 3rd Constructor this.radius = radius; this.color = color; } // Public getter and setter for private variables public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } // toString() to provide a short description of this instance public String toString() { return "Circle with radius = " + radius + " and color of " + color; } // Public methods public double getArea() { return radius*radius*Math.PI; }

Kerjasama Objek Pada suatu aplikasi berbasis objek, aplikasi tersebut menciptakan objek yang saling berkolaborasi di dalam memori

Latihan Permainan Daduku dimainkan oleh dua pemain. Setiap pemain yang mendapat giliran akan melempar dua dadu bersamaan. Nilai yang muncul pada kedua dadu mempunyai nilai tertentu, seperti di bawah: Kombinasi Skor * Nilai 1 muncul hanya pada satu dadu 100 * Nilai 5 muncul hanya pada satu dadu 50 * Kedua dadu menampilkan nilai * Kedua dadu menampilkan nilai * Kedua dadu menampilkan nilai Salah satu pemain akan dinyatakan menang jika berhasil mengumpulkan nilai lebih dari Ada berapa class yang terlibat pada permainan ini?

Class yang terlibat pada permainan Daduku Dadu - sisi : int + Dadu () + getSisi () : int + setSisi (sisi : int) : void + lemparDadu () : void + toString () : String Pemain - nama : String - nilai : int + Pemain (nama:String) + getNama () : String + setNama (nama : String) : void + getNilai () :int + setNilai (skor : int) : void + toString () : String Permainan - ?

Latihan Gender bisa : ‘l’ || ‘p’ atau ‘L’ || ‘P’ Method toString() mengembalikan "author- name (gender) at ", e.g., “Amira (p) at

Latihan Asumsi: buku dikarang oleh satu pengarang saja. Method toString() that returns "'book-name' by author- name (gender) at ". Gunakan method Author's toString(), yg mengembalikan "author-name (gender) at ".