Duka biyu suna sake amfani da suna na hanya, amma suna da bambance sosai. Ɗaukar hanya = suna iri ɗaya, sinadarai iri iyali, a cikin ajin gida, an warware shi a lokacin haɗi. = suban ajin hanyar uwa da , waɗanda aka warware a .
Duka biyu suna sake amfani da suna na hanya, amma suna da bambance sosai. Ɗaukar hanya = suna iri ɗaya, sinadarai iri iyali, a cikin ajin gida, an warware shi a lokacin haɗi. = suban ajin hanyar uwa da , waɗanda aka warware a .
| Ɗaukar hanya | Maimaita hanya | |
|---|---|---|
| Alama | Dole ne su bai iri ba (sinadarai) | Dole ne su kasance daidai |
| Alaƙa | Ajin gida | Uwa ↔ suban ajin |
| Warware | Lokacin haɗi (tsaye) | Lokacin gudu (zaman jiki) |
| Niyya | Jafarashawa / sauye | Polimofizam |
class Printer {
void print(String s) { System.out.println(s); }
void print(int n) { System.out.println(n); } // same name, diff param
void print(String s, int times) { /* ... */ }
}
Masu haɗi suna zaɓar wacce print bisa ga nau'iyar sinadarai — babu gado.
class Animal { String speak() { return "..."; } }
class Dog extends Animal {
@Override
String speak() { return "Woof"; } // replaces Animal.speak()
}
Animal a = new Dog();
a.speak(); // "Woof" — runtime picks Dog's version (dynamic dispatch)
Khahafi mai yawa shi ne sai da ba ya shirye ba ɗaukar hanya a lokacin da kake bukatar maimaita (misali kuskusi a cikin alama). Koyaushe yi amfani da @Override (Java) ko override (C#) domin masu haɗi su kamo shi.
Maimaita hanya ita ce ingin polimofizam — tsarin gudu wanda yake sa "jigon daya, ayyuka da yawa" ya yi aiki.
Sanin bambance shi ya ɓaci wata khahafi na gida: tumanin cewa ka maimaita hali a lokacin da ka saba da sabuwar hanya da ba a kira ba.