Upepo wa Pesa
JF-Expert Member
- Aug 8, 2015
- 21,786
- 35,747
Inasaidia kutengeza applications za simu, software za pc na websites!!Kuna umuhimu gani wakuijua Java?
Poa poa mkuuKiuhalisia huwezi uka inherit au uka extend interface kwa kutumia class!
Class ina implement interface, class can not extend/inherit interface!
Cheki hii code
Code:interface persons{ void name(); void surname(); } interface activities{ void nameOfActivities(); } class Group implements persons,activities{ @Override public void name() { System.out.println("My name is ABC"); } @Override public void surname() { System.out.println("my surname is XYZ"); } @Override public void nameOfActivities() { System.out.println("My activities are ...."); } }
Ukisema nitoe implement alafu nitumie inheritance ya class na interface utapata error maana hakuna inheritance kati ya class na interface bali kuna inheritance ya class na class au interface na interface!!
Likewise kwenye abstract haiwezi kuimplement abstract class, ina inherit au ina extend abstract class!!
At the end of the day you can not instantiate abstract class but you can instantiate concrete class!!!
Pamoja mkuu...check tena hii code...Poa poa mkuu
interface persons{
void name();
void surname();
}
interface activities{
void nameOfActivities();
}
class Group implements persons,activities{
@Override
public void name() {
System.out.println("My name is ABC");
}
@Override
public void surname() {
System.out.println("my surname is XYZ");
}
@Override
public void nameOfActivities() {
System.out.println("My activities are ....");
}
}
public class Binadamu{
private string jina;
private int urefu;
}
public class Mwanaume extends Binadamu{}
public class Mwanamke extends Binadamu{}
public interface Kuruka{
void ruka();
}
public class Binadamu implements Kuruka{
@override
public void ruka(){
//Elezea binadamu anarukaje
}
}
public class Ndege implements Kuruka{
@override
public void ruka(){
//Elezea ndege anarukaje
}
}
Umeeleza vizuri sanaHili swala la interface implementation na classes inheritance hua linachanganya watu ila sio kitu complicated kabisa.
Njia rahisi ya kulifikiria ni kama hivi
Class utatumia kwenye kitu ambacho kina-exist kwenye form moja, mfano gari haiwezi kua ndege, kwa hiyo unaweza kua na gari aina mbalimbali zika-inherit kutoka kwenye class ya Vehicle. Na Java kawaida hairuhusu multiple inheritance sababu hiyo, mtoto unaweza rithi kutoka kwa wazazi wako (wachukulie kwa umoja) lakini huwezi rithi kwa wazazi wa jirani. Gari aina ya toyota inaweza rithi kutoka kwenye class ya Gari.
Interface inatumika unapokua unaongelea characteristics ya kitu ambacho kinaweza kuwa na sifa mbalimbali tofauti, mfano sifa ya kuruka, binadamu anaweza kuruka, viumbe mbalimbali pia wanaweza kuruka.
Code:public class Binadamu{ private string jina; private int urefu; } public class Mwanaume extends Binadamu{} public class Mwanamke extends Binadamu{}
Umeona mfano huu, main class ni Binadamu, Mwanaume anainherit sifa zote za binadamu kwa hiyo class Mwanaume extends Binadamu, mwanamke hivyohivyo. Lakini hatuwezi sema class Ndege extends Binadamu maana kuna sifa ambazo binadamu atakua nazo ndege hana. Na Java inaruhusu extend class moja.
Code:public interface Kuruka{ void ruka(); } public class Binadamu implements Kuruka{ @override public void ruka(){ //Elezea binadamu anarukaje } } public class Ndege implements Kuruka{ @override public void ruka(){ //Elezea ndege anarukaje } }
Na mfano wa pili unaonyesha interface, kitendo cha kuruka kinaweza kua shared na binadamu na ndege, kwa hiyo class hizi mbili zote zinaweza implement hiyo interface bila shida, na ndiyo maana ukiimplement interface lazima u-override abstract method yake, mfano hapo juu method ni ruka(), kwa sababu viumbe wote hawa wanaruka tofauti, ukiimplement kwa moja ukaacha kwa mwingine unakua umekosea.
Hili jambo ni muhimu sana kwenye composition na code reusability. Mfano kila view kwenye screen yako ambayo inaweza kua clickable iki-implement interface inakua rahisi sana kuandika method moja ambayo itahandle hiyo click, bila kufanya hivyo ingekulazimu kuweka method nyingi kwa kila view.
Programming ni kama unaongea lugha yako tu, utofauti ni inabidi ufikirie efficiency na speed.
Lipe Jukwaa heshima yake ndugu yangu!The matapeli team
Maelezo mazuri sana mkuu Graph... Ukipata wasaa tupe ujuzi wa polymorphism maana mpaka leo inanichanganya!!
function minimum(int a, int b){
//compare hizi mbili rudisha moja ambayo ni ndogo
}
function minimum(int a, int b, int c){
//compare hizi tatu rudisha ambayo ni ndogo
}
public class Gari{
public string ainaGani(){ return "gari"; }
}
public class Tesla extends Gari{
@override
public string ainaGani() { return "Tesla"; }
}
Gari a = new Tesla();
System.out.Println(a.ainaGani()); // hii itaprint Tesla
Gari b = new Gari();
System.out.Println(b.ainaGani()); // hii itaprint gari
wanasubiri matokeo hao ndio maana wanasumbua humu jukwaani!!Lipe Jukwaa heshima yake ndugu yangu!