Tofauti Kati ya hii na bora katika Java

Orodha ya maudhui:

Tofauti Kati ya hii na bora katika Java
Tofauti Kati ya hii na bora katika Java

Video: Tofauti Kati ya hii na bora katika Java

Video: Tofauti Kati ya hii na bora katika Java
Video: Vijana Barubaru - Sasa Hivi ft. Ashley Music Stripped Down (Official Video) sms SKIZA 5969019 to 811 2024, Desemba
Anonim

Tofauti Muhimu - hii dhidi ya super katika Java

Maneno msingi ‘hii’ na ‘super’ hutumika katika upangaji programu wa Java. Maneno muhimu haya hayawezi kutumika kama vigeu au jina lingine lolote la kitambulisho. Java inasaidia Upangaji Unaoelekezwa na Kitu (OOP). Programu au programu inaweza kutengenezwa kwa kutumia vitu. Vitu havishibi kwa kutumia madarasa. Nguzo moja ya OOP ni urithi. Inatoa kanuni reusability. Madarasa ambayo tayari yapo ni ya darasa kuu, na madarasa yanayotokana ni aina ndogo. Neno kuu kuu linaweza kutumika kurejelea kitu cha darasa kuu. Kuna vitu vingi kwenye mfumo. Neno kuu la 'hili' hutumiwa kurejelea kitu cha sasa. Tofauti kuu kati ya hii na super ni 'hii' ni tofauti ya marejeleo ambayo hutumiwa kurejelea kitu cha sasa wakati 'super' ni kigezo cha marejeleo ambacho hutumika kurejelea kitu cha hali ya juu zaidi.

Hii ni nini kwenye Java?

Neno kuu 'hili' hutumiwa kurejelea kitu cha sasa. Rejelea programu uliyopewa ya Java.

Tofauti kati ya hii na super katika Java
Tofauti kati ya hii na super katika Java

Kielelezo 01: Programu ya Java inayotumia neno kuu hili

Katika Java, kuna aina tatu za vigeuzo. Ni vigeu vya mfano, vigeu vya ndani na vigeu vya darasa. Kulingana na programu iliyo hapo juu, Mfanyakazi wa darasa ana vigezo viwili vya mfano. Wao ni id na jina. Vigezo vya ndani ni viambishi ni vya mbinu. Vigezo vya darasa vinashirikiwa na vitu vyote. Kitambulisho na jina hupitishwa kwa Mjenzi Mfanyakazi. Ikiwa programu itaandika id=id; haitaanzisha vigezo vya mfano kwa sababu Mjenzi tayari ana kitambulisho na jina. Hakuna maadili kwa mfano vigezo. Kwa hivyo, kuzichapisha kutaonyesha null. Wakati wa kutumia hii, inahusu kitu cha sasa. Kwa hivyo, kutoa kitambulisho na jina kwa mjenzi kunaweza kuweka vigezo vya mfano.

Neno kuu ‘hili’ linaweza kutumika kuomba mbinu ya sasa ya darasa. Rejelea programu ya java uliyopewa.

darasa la umma ThisDemo{

utupu mkuu wa tuli wa umma(String args){

Myclass myClass=newMyclass();

Darasa langu. B();

}

}

darasa langu{

tupu ya umma A(){

System.out.println(“A”);

}

utupu wa umma B(){

System.out.prinltn(“B”);

hii. A();

}

}

Darasa la Myclass lina mbinu mbili. Ni njia A na B. Wakati wa kuunda kitu cha Myclass na kutumia njia B itachapisha B, A kama pato. Katika mbinu B, baada ya kuchapa B kuna taarifa kama hii. A(). Kwa kutumia hii, mbinu ya darasa la sasa ilitumiwa.

Pia inawezekana kutumia nenomsingi hili kuomba kijenzi cha darasa cha sasa. Rejelea programu uliyopewa.

darasa la umma ThisDemo{

utupu mkuu wa tuli wa umma(String args){

A obj=A(5);

}

}

darasa A{

A() ya umma{

System.out.println(“Constructor A”);

}

umma A(int x){

hii();

System.out.println(“Parameterized Constructor A”);

}

}

Kulingana na programu iliyo hapo juu, darasa A lina kijenzi chaguomsingi na kijenzi chenye vigezo. Wakati wa kuunda kitu cha A, mjenzi wa parameterized anaitwa. Katika mjenzi aliye na vigezo, kuna taarifa kama hii(); Itaita mjenzi wa darasa wa sasa ambaye ni A().

Je, Java ni bora zaidi?

Neno kuu ‘super’ linahusiana na urithi. Urithi ni dhana kuu ya Upangaji Unaozingatia Kitu. Inaruhusu kutumia mali na mbinu za darasa lililopo tayari kwa darasa jipya. Darasa lililopo tayari linajulikana kama darasa la wazazi au darasa kuu. Darasa jipya linajulikana kama darasa la watoto au darasa dogo.

The ‘super’ ni kigezo cha marejeleo ambacho hutumika kurejelea kitu cha darasa la mzazi. Neno kuu kuu linaweza kurejelea kigeugeu cha mara moja cha darasa la mzazi au kuomba mbinu ya darasa la mzazi mara moja. Super() inatumika kuomba mjenzi wa darasa la mzazi.

Chukulia kuwa kuna madarasa mawili kama A na B. Darasa A ndilo daraja kuu na daraja B ndilo daraja ndogo. Daraja A, B zote zina mbinu ya kuonyesha.

darasa la umma A{

onyesho la utupu la umma(){

System.out.println(“A”);

}

}

daraja la B la umma huongeza A{

onyesho la utupu la umma(){

System.out.println(“B”);

}

}

Unapounda kipengee cha aina B na kuita onyesho la mbinu, itatoa towe B. darasa A lina mbinu ya kuonyesha, lakini inabatilishwa na njia ya kuonyesha ya darasa dogo B. Ikiwa mpangaji programu anataka kuita njia ya kuonyesha katika darasa A, basi anaweza kutumia neno kuu kuu. Rejelea programu uliyopewa ya Java.

Tofauti kati ya hii na super katika Java_Kielelezo 02
Tofauti kati ya hii na super katika Java_Kielelezo 02

Kielelezo 02: Mpango wa Java kwa kutumia neno kuu kuu

Kulingana na programu iliyo hapo juu, darasa A lina nambari inayobadilika iliyopewa thamani ya 10. Daraja B linapanua A na lina nambari inayobadilika yenye thamani ya 20. Kwa ujumla, wakati wa kuunda kitu cha aina B na kupiga njia ya kuonyesha. inapaswa kutoa nambari katika darasa ndogo kwa sababu thamani ya superclass imezidiwa na darasa jipya. Kwa kutumia super.num, nambari ya superclass inachapishwa.

The super() inaweza kutumika kumwita mjenzi wa daraja la juu. Rejelea programu iliyo hapa chini.

darasa kuu la umma {

utupu mkuu wa tuli wa umma(String args){

B obj=mpya B();

}

}

darasa A{

A(){

System.out.println(“A”);

}

}

darasa B huongeza A{

B(){

super();

System.out.println(“B”);

}

}

Kulingana na programu iliyo hapo juu, darasa A lina mjenzi A (). Daraja B lina mjenzi B (). Daraja B huongeza daraja A. Wakati wa kuunda kitu cha aina B, itachapisha A, B kama pato. B () mjenzi ana super (). Kwa hivyo, kwanza mjenzi A anaalikwa na kisha kwenda kwa B. Ingawa super () haijaandikwa, kwa chaguo-msingi mjenzi mzazi anaitwa.

Njia bora zaidi ya kutumia ni kama ifuatavyo.

Tofauti kuu kati ya hii na super katika Java
Tofauti kuu kati ya hii na super katika Java

Kielelezo 03: Mpango wa Java ambao unatumia mbinu ya superclass

Kulingana na mpango ulio hapo juu, darasa A lina njia ya kuonyesha. Hatari B pia ina njia ya kuonyesha. Daraja B huongeza A. Unapounda kipengee cha aina B na kuita njia ya kuonyesha itatoa matokeo kama A na B. Katika mbinu ya kuonyesha ya darasa B, njia ya kuonyesha ya darasa A inaitwa kutumia super.display(). Njia hiyo inachapisha "A" kwanza. Kisha huchapisha “B”.

Kuna Ufanano Gani Kati ya hii na bora?

Yote ni maneno muhimu katika programu ya Java

Kuna tofauti gani kati ya hii na bora?

Hii dhidi ya Super

‘Hii’ ni kigezo cha marejeleo ambacho hutumika kurejelea kitu cha sasa. ‘super’ ni kigezo cha marejeleo ambacho hutumika kurejelea kitu cha daraja la juu zaidi.
Kigezo cha Kubadilisha Mifumo
Kielelezo cha sasa cha kigezo cha kigezo kinaweza kurejelewa kwa kutumia hii. Kielelezo cha hali ya juu kinaweza kurejelewa kwa kutumia superclass.
Njia ya Darasa
Mbinu ya sasa ya darasa inaweza kutumika kwa kutumia hii. Mbinu ya Superclass inaweza kutumika kwa kutumia superclass.
Mujenzi
Kijenzi cha sasa cha darasa kinaweza kuombwa kwa kutumia hii(). Mjenzi wa daraja la juu anaweza kualikwa kwa kutumia super().

Muhtasari - hii dhidi ya super katika Java

Maneno msingi ‘hii’ na ‘super’ yanatumika katika Java. Maneno muhimu hayawezi kutumika kama vigeu au jina lingine lolote la kitambulisho. Wanaonekana kuwa sawa, lakini wana tofauti. Tofauti kati ya hii na super ni kwamba super ni kigezo cha marejeleo ambacho hutumika kurejelea kitu cha hali ya juu wakati hiki ni kigezo cha marejeleo ambacho kinarejelea kitu cha sasa.

Pakua PDF ya hii dhidi ya super katika Java

Unaweza kupakua toleo la PDF la makala haya na uitumie kwa madhumuni ya nje ya mtandao kulingana na dokezo la manukuu. Tafadhali pakua toleo la PDF hapa: Tofauti Kati ya hii na bora katika Java

Ilipendekeza: