Niulize chochote kuhusu java na xml

Poa poa mkuu
 
Poa poa mkuu
Pamoja mkuu...check tena 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 ....");
    }
}

Ukiangalie hizo interface mbili yaani 'persons' and 'activities' interfaces zote zimekua implemented na Group class, at once!

1. Kwenye abstract classes tunaweza ku define methods je kwenye interface tunaweza ku define methods? kama hatuwezi kwanini?

2. Je tunaweza ku declire empty interface? kama hatuwezi kwanini?

3. Nini maana ya "marker interface" na je zina umuhimu gani?
 
Hili 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 haiwezi rithi kutoka class ya Ndege hata siku moja.

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 kwa 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, lazima uelezee sasa kila moja anarukaje.

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.
 
Umeeleza vizuri sana
 
Maelezo mazuri sana mkuu Graph... Ukipata wasaa tupe ujuzi wa polymorphism maana mpaka leo inanichanganya!!
 
kuna library inaitwa Apache Poi ya java kama kuna mkuu yoyote hapa ashushe nondo nakuja kujibu maswali nilikuwa pasipo na network wakuu
 
Maelezo mazuri sana mkuu Graph... Ukipata wasaa tupe ujuzi wa polymorphism maana mpaka leo inanichanganya!!

Polymorphism nayo ni concept rahisi tu, neno poly maana yake wingi (many) na neno morphism ni structure au shape. Kwa hiyo polymorphism ni uwezo wa kuexist katika different forms.

Kuna aina mbili ya polymorphism, moja ni wakati unafanya method overloading na nyingine ni method overriding.
Ya kwanza ya method overloading, unaweza kua na method yenye jina moja, ikawa inafanya kazi moja lakini inputs tofauti.
Mfano
Code:
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
}

Umeona hapo juu, hiyo function minimum inaexist katika form mbili tofauti, ya kwanza inachukua int mbili tu, na ya pili inachukua inputs tatu. Hiyo inaitwa static polymorphism, wakati unacompile program yako compiler itajua moja kwa moja jinsi ya kusolve.

Mfano wa pili wa method overriding ni kama hivi
Code:
public class Gari{
     public string ainaGani(){ return "gari"; }
}

public class Tesla extends Gari{
     @override
      public string ainaGani() { return "Tesla"; }
}

Hapo unaona class Tesla ina-inherit property zote za class Gari lakini inafanya method overriding ya hiyo function moja inayoitwa ainaGani, inareturn its own value. Maana yake class Tesla ni Gari lakini inaexist katika form tofauti. Hii inaitwa dynamic polymorphism, dynamic sababu utofauti utajulikana during runtime na sio compile time, pale ambapo umeita hiyo method. Haiishii hapo, naweza ongeza poa interface kwenye lower classes na kuipa a different form.

Unaweza fanya hivi kwenye java na ikawa valid
Code:
      Gari a = new Tesla();
      System.out.Println(a.ainaGani()); // hii itaprint Tesla

      Gari b = new Gari();
      System.out.Println(b.ainaGani()); // hii itaprint gari

You can clearly see, a na b ni gari ndiyo lakini two different forms.
Hiyo ndo polymorphism, hakuna miujiza mingine hapo. Languages nyingi zina hii concept.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…