Overloading/Overwriting
:
Overloading/Overwriting
adalah ketika dalam suatu class yang sama mempunyai beberapa method dengan nama
yang sama tetapi dengan parameter yang berbeda.
contoh
paling sederhana adalah ketika kita mempunyai method a(String param1, String
param2), kemudian ketika kita membuat method dengan nama yang sama dengan
jumlah dan type parameter yang berbeda, misal a(int param1, String param2)
Override :
Override
adalah ketika suatu class child yang turunan dari class parent. mempunyai
beberapa method dengan nama yang sama dengan yang di punya si parent . tetapi
dengan implementasi yang berbeda.
Contoh
paling sederhana adalah ketika kita mempunyai class interface kemudian
kita implements pada class kita, maka class kita wajib mengimplementasikan
method method yang sebelum nya telah kita definisikan pada class interface
tersebut
berikut
contoh code agar bisa lebih jelas di pahami :
class parent
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package ASN.Coders;
public class Parent {
public String getOverride(){
return "from class parent";
}
public String getOverride(String string){
return string;
}
}
|
class child
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package ASN.Coders;
public class Child extends Parent{
public String getOverloadClass(){
return "overload method";
}
//overload method
public String getOverloadClass(String string){
return string;
}
@Override
public String getOverride() {
System.out.println("override
: diffrent implementation");
return super.getOverride();
}
//this will cause compilation
error
@Override
public String getOverride(String string, int i) {
System.out.println(i);
return super.getOverride(string);
}
//this will cause compilation
error
@Override
public int getOverride(String string, int i) {
super.getOverride(string);
return i;
}
public static void main(String[] args) {
Child child = new Child();
child.getOverride();
}
|
Komentar
Posting Komentar