tugas4

advertisement
Inheritance (Pewarisan)
• Suatu class dapat
mewariskan atribut dan
method kepada class lain
(subclass), serta
membentuk class
hierarchy
• Penting untuk Reusability
• Java Keyword: extends
Sepeda.java
public class Sepeda{
int kecepatan ;
int gir ;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan) {
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
}
Class SepedaGunung Mewarisi Class Sepeda
class SepedaGunung extends Sepeda{
class SepedaGunungBeraksi {
public static void main(String[] args) {
// Membuat object
SepedaGunung spd= new SepedaGunung();
public void setSadel(int nilaiSadel) {
System.out.println(“Tinggi Sadel:”+ nilaiSadel);
// Memanggil method di object
spd.tambahKecepatan(10);
spd.ubahGir(2);
spd.setSadel(20);
}
}
}
}
SepedaGunung.java
SepedaGunungBeraksi.java
class Kendaraan
UML – Class Diagram
Sepeda
~
~
gir: int = 0
kecepatan: int = 0
~
~
tambahKecepatan(int) : void
ubahGir(int) : void
SepedaGunung
+
setSadel(int) : void
SepedaGunungBeraksi
+
main(String[]) : void
Latihan-tugas4
• Buat class MatematikaCanggih yang
merupakan inherit dari class Matematika
– Tambahkan method modulus(int a, int b) yang
menghitung modulus dari a dan b. Operator
modulus adalah %
• Buat class MatematikaCanggihBeraksi yang
memanggil method pertambahan, perkalian
dan modulus
UML – Class Diagram
class Matematika
Matematika
~
~
~
~
hasilBagi: double
hasilKali: double
hasilKurang: double
hasilTambah: double
~
~
~
~
pembagian(double, double) : double
pengurangan(double, double) : double
perkalian(double, double) : double
pertambahan(double, double) : double
MatematikaBeraksi
+
MatematikaCanggih
~
modulus(double, double) : double
main(String[]) : void
Polymorphism
Suatu object dapat memiliki berbagai
bentuk
Implementasi konsep polymorphism:
1. Overloading: Penggunaan satu nama untuk
beberapa method yang berbeda parameter
2. Overriding: Terjadi ketika deklarasi method
subclass persis sama dengan method dari
superclassnya
class MobilKonstruktor{
Polymorphism public
– Overloading
class Mobil {
String warna;
int tahunProduksi;
public static void main(String[] args){
Mobil mobilku = new Mobil(“Merah”,
2003);
mobilku.info();
public Mobil(String warna, int
tahunProduksi){
this.warna = warna;
this.tahunProduksi = tahunProduksi;
}
public Mobil(){
}
void info(){
System.out.println("Warna: " + this.warna);
System.out.println("Tahun: " +
this.tahunProduksi);
}
}
Mobil mobilmu = new Mobil();
mobilmu.info();
}
}
Polymorphism – Overloading
class Lingkaran{
public buatLingkaran(){
}
public buatLingkaran(int diameter){
...
}
public buatLingkaran(int diameter, int x, int y){
...
}
public buatLingkaran(int diameter, int x, int y, int warna, String
namaLingkaran){
...
}
}
Polymorphism - Overriding
class Sepeda{
int kecepatan ;
int gir ;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan) {
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
}
Class SepedaGunung Mewarisi Class Sepeda
class SepedaGunung extends Sepeda {
void ubahGir(int pertambahanGir) {
int gir= 2*(gir+ pertambahanGir );
System.out.println("Gir:" + gir);
}
class SepedaGunungBeraksi {
public static void main(String[] args) {
// Membuat object
SepedaGunung sepedaku = new sepedaGunung();
// Memanggil method di object
sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2);
sepedaku.setSadel(20);
}
}
}
SepedaGunung.java
SepedaGunungBeraksi.java
Latihan-tugas4
1.
2.
3.
4.
Kembangkan class Matematika dan
MatematikaBeraksi
Lakukan overloading pada Method yang ada
(pertambahan, pengurangan, perkalian,
pembagian) . Method baru adalah bertipe data
double (pecahan) dan memiliki 3 parameter
Uji di kelas MatematikaBeraksi dengan
parameter pecahan: 12.5, 28.7, 14.2
Misalnya:
pertambahan(12.5, 28.7, 14.2)
pertambahan(23, 34)
Matematika.java
class Matematika{
void pertambahan (int a, int b){
int hasilPertambahanBulat = a + b;
System.out.println(“hasil:” + hasilPertambahanBulat);
}
void pertambahan (double a, double b, double c){
double hasilPertambahanPecahan = a + b + c;
System.out.println(“hasil:” + hasilPertambahanPecahan);
}
...
}
Download