Afin Humam A - Overidding
Afin Humam A - Overidding
NIM : 1512617032
1. Override01
/*
Overriding
Method Overriding adalah proses merubah kode method di subclass yg diturunkan dari superclass
Soal :
Jawaban :
1.Tidak, karena parameter method yang di override merupakan turunan dari parent
class.
2.Tidak, karena jika tidak ditulis override annotationnya program tetap bisa berjalan,
4.
Pada Overloading :
• Parameter Berbeda
Pada Overriding :
*/
package pbo;
/**
* @author USER
*/
/**
*/
PO01.printPO();
CO01.printPO();
CO02.printPO();
CO02.printPO("Over");
N01.printPO();
class ParentOver01{
}
class ChildOver01a extends ParentOver01{
return 0;
class Neighbour01 {
}
2. Override02
/*
Soal :
1. Jika method pada superclass bersifat public, maka access modifier yang diijinkan pada
2. Jika method pada superclass bersifat default, maka access modifier yang diijinkan pada
3. Secara umum dapat dikatakan access modifier pada method subclass yg di override harus ....
Jawaban :
1. Jika method pada superclass bersifat public, maka access modifier yang diijinkan pada
2.Jika method pada superclass bersifat default, maka access modifier yang diijinkan pada
metod overriding subclass adalah yang memiliki sifat default, protected atau public.
3.Secara umum dapat dikatakan access modifier pada method subclass yg di override harus
tidak bisa lebih ketat dibanding access modifier pada method superclass.
*/
package pbo;
/**
* @author USER
*/
/**
* @param args the command line arguments
*/
PO02.printPO();
CO02a1.printPO();
CO02b1.printPO();
CO02b2.printPO();
class ParentOver02a{
@Override
// }
//}
//
// }
//}
//
// void printPO(){
// }
//}
class ParentOver02b{
@Override
}
class ChildOver02b2 extends ParentOver02b{
@Override
// @Override
// }
//}
//
// void printPO(){
// }
//}
3. Override03
/*
Soal :
4. Perhatikan pada contoh nilai static atribut data, apa kesimpulan Anda?
Jawaban :
4. Pada program tersebut, nilai atribut yang ada pada superclass dapat diakses oleh
subclass dan dapat diubah juga sesuai dengan kebutuhan subclass yang dibuat.
*/
package pbo;
/**
* @author USER
*/
/**
*/
PO03.printParent();
PO03.printStaticParent01();
//ParentOver03.printParent();
ParentOver03.printStaticParent01();
ParentOver03.printStaticParent02();
System.out.println();
CO03.printParent();
CO03.printStaticParent01();//overriden
CO03.printStaticParent02();
//ChildOver03b.printParent();
ChildOver03.printStaticParent01();
ChildOver03.printStaticParent02();
System.out.println();
ParentOver03.printStaticParent01();
ParentOver03.printStaticParent01();
System.out.println();
CO03.printChild();
class ParentOver03{
public ParentOver03(){
data=1;
void printParent(){
}
static void printStaticParent01(){
public ChildOver03(){
data=2;
@Override
void printParent(){
//@Override // apa yang terjadi jika annotation override ditambahkan/tidak dijadikan komen ?
void printChild(){
super.printStaticParent01();
this.printStaticParent01();
}
4. Override04
/*
Soal :
method non static dan method non static jika akan di definisi ulang pada
kelas turunan !
Jawaban :
1. Pada method static dapat digunakan tanpa harus menginialisasi suatu class atau tanpa
dapat beroperasi pada objek untuk memanipulasi state objek melalui pesan yang diterima
*/
package pbo;
/**
* @author USER
*/
/**
*/
CO04.printNonStatic01();
CO04.printNonStatic02();
System.out.println();
CO04.printStatic01();
CO04.printStatic02();
System.out.println();
ParentOver04.printStatic01();
ParentOver04.printStatic02();
System.out.println();
PO04a.printStatic01();
PO04a.printStatic01();
PO04a.printStatic02();
PO04a.printNonStatic02();
class ParentOver04{
void printNonStatic01(){
printNonStatic02();
void printNonStatic02(){
@Override
void printNonStatic02(){