Kā izmantot Java lietotāja interfeisu?

Ka Izmantot Java Lietotaja Interfeisu



Java valodā “ Patērētājs ” interfeiss apzīmē darbību, kas saņem vienu ievadi un veic ar to dažas darbības, neatgriežot rezultātu. Tas arī piedāvā elastīgu veidu, kā definēt pielāgotas darbības, kuras var izmantot funkcionālajā programmēšanā, piemēram, lambda izteiksmēs. Šis emuārs ilustrē patērētāja saskarnes ieviešanu Java.

Kā izmantot Java lietotāja interfeisu?

' Patērētājs ” interfeiss piedāvā iekapsulēšanu vai uzvedību, ko var nodot un izpildīt dažādās programmas vietās. Tas veicina atkārtoti lietojamu darbību, ko var izmantot dažādām ievadēm, nedublējot kodu. Patērētāja saskarne sastāv no divām metodēm, proti, ' un tad() ' un ' pieņemt () ”.







Apmeklējiet tālāk sniegtos piemērus, lai izprastu abas funkcijas, kā arī kodeku piemērus:



1. piemērs. Metodes “andThen()” izmantošana



Izstrādātājs var sasaistīt vairākus ' Patērētājs ' operācijas, izmantojot ' un tad() ” metode. Tas atgriež jaunu ' Patērētājs ', kas veic pašreizējās darbības' Patērētājs ” piemēram. Pēc tam izpilda operācijas gaidāmā/pēc “ Patērētājs ” piemēram. Tā ir noklusējuma metode, kas tiek plaši izmantota procesam ' Sastāvs ”.





Sintakse ' un tad() ” metode ir ievietota zemāk:

un tad ( Patērētājs < ? super T > pēc )



' un tad() 'metode apvieno pašreizējo patērētāju' super 'ar citu patērētāju' pēc ”. Un tas vispirms izpilda pašreizējā patērētāja darbību, pēc tam nodrošinātā patērētāja darbību.

Lai labāk izprastu, apskatīsim programmu:

importēt java.util.ArrayList;
importēt java.util.LinkedList;
importēt java.util.List;
importēt java.util.function.Consumer;

publiskā klase Sakne {
publisks statisks tukšums galvenais ( Stīgu args [ ] )
{
// galvenās metodes izveide
Patērētājs < Saraksts < Vesels skaitlis > > reizināt = dataEle - >
{
priekš ( int j = 0 ; j < dataEle.size ( ) ; j++ ) {
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
}
} ;
// Patērētājs, lai parādītu veselu skaitļu sarakstu
Patērētājs < Saraksts < Vesels skaitlis > >
izdrukas = dataEle - > dataEle.stream ( ) .katram ( k - > System.out.print ( k + ' ' ) ) ;

Saraksts < Vesels skaitlis > dataEle = jauns ArrayList < Vesels skaitlis > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
reizināt.un Tad ( izdrukas ) .pieņemt ( dataEle ) ;
}
}

Iepriekš minētā koda skaidrojums:

  • Pirmkārt, ' Patērētājs ”, “ LinkedList ” un saistītās utilītas tiek importētas Java failā. Pēc tam galvenā klase ar nosaukumu “ Sakne ” tiek izveidots.
  • Pēc tam izveidojiet “Patērētāja” saskarni, kuras veids ir saraksts ar nosaukumu “ vairoties un iestatiet to vienādu ar ' ArrayList ”, kas tiks izveidots tālāk.
  • Tas izmanto ' priekš cilpa, kas atkārtojas līdz '' ArrayList 'nosaukts' dataEle ”, un reizina katru datu elementu dataEle ' ar ' 5 ”.
  • Pēc tam otrais ' Patērētājs ” tiek izveidots interfeiss, kas izdrukā katru konsoles elementu, kas tiek izgūts pēc reizināšanas procesa no straumes.
  • Tagad izveidojiet un pievienojiet fiktīvus datu elementus dataEle ”ArrayList.
  • Galu galā ' un tad() ' metode tiek saukta ar ' pieņemt () 'metode, kas pieņem' dataEle 'ArrayList un atgriež rezultātu' vairoties ' secībā.

Pēc izpildes posma beigām:

Momentuzņēmums parāda, ka reizināšanas uzdevums ir pabeigts, izmantojot ' un tad() ' metode ' Patērētājs ” interfeiss.

2. piemērs: “accept()” metodes izmantošana

' pieņemt () metode ir funkcionāla metode Patērētājs ” interfeiss. Tā pieņem vienu argumentu tipa “ T ” un veic ar to norādītās/vajadzīgās darbības. Vērtība ' Null ” nedrīkst tai nodrošināt, jo tas nepieņem “ Null ” vērtības un ģenerē izņēmumu.

Tās sintakse ir norādīta zemāk:

spēkā neesošs ( < stiprs > T stiprs > t )

Iepriekš minētajā sintaksē ' t ” ir vienīgais arguments, uz kura tiek veiktas noteiktas darbības.

Apmeklēsim tālāk norādīto koda bloku, lai labāk izprastu:

importēt java.util.ArrayList;
importēt java.util.LinkedList;
importēt java.util.List;
importēt java.util.function.Consumer;

// komunālo pakalpojumu importēšana iekšā Java failu
publiskā klase Sakne {
publisks statisks tukšums galvenais ( Stīgu args [ ] ) // galvenās metodes izveide
{
Patērētājs < Vesels skaitlis > disp = k - > System.out.println ( k ) ;
disp.akceptēt ( 255 ) ;
Patērētājs < Saraksts < Vesels skaitlis > > reizināt = dataEle - >
{
priekš ( int k = 0 ; k < dataEle.size ( ) ; k++ )
dataEle.set ( k, 5 * dataEle.get ( k ) ) ;
} ;

Patērētājs < Saraksts < Vesels skaitlis > >
izdrukas = dataEle - > dataEle.stream ( ) .katram ( j - > System.out.print ( j + '
'
) ) ;
Saraksts < Vesels skaitlis > dataEle = jauns ArrayList < Vesels skaitlis > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
// Ieviest modifikāciju, izmantojot akceptēt ( )
reizināt.pieņemt ( dataEle ) ;
// Ieviesiet dispList, izmantojot akceptēt ( )
izdrukas.pieņemt ( dataEle ) ;
}
}

Iepriekš minētā koda skaidrojums:

  • Pirmkārt, ' Patērētājs ' interfeiss ar nosaukumu ' disp ” tiek izveidots, kas parāda norādītos parametrus konsolē, neveicot nekādas darbības.
  • Tagad “ pieņemt () ' metodi sauc ' disp 'Patērētājs un vērtība' 255 ” tiek nodota šai metodei.
  • Tālāk vēl viens ' Patērētājs tiek izveidots interfeiss, kas izmanto priekš ' cilpa, lai lietotu reizināšanu katram ArrayList esošajam elementam ar nosaukumu ' dataEle ”.
  • Pēc tam izveidojiet vēl vienu ' Patērētājs ' interfeiss, lai parādītu ' dataEle ” elementi rodas pēc reizināšanas lietošanas, kas nāk no straumes.
  • Pēc tam inicializējiet ArrayList ' dataEle ' ar fiktīviem datu elementiem un izmantojiet ' pieņemt () ' metode ar ' vairoties ” interfeiss.
  • Beigās zvaniet uz ' pieņemt () ' metodi, izmantojot ' izdrukas ” interfeiss, lai parādītu rezultātu pēc reizināšanas piemērošanas konsoles žurnālā.

Pēc izpildes beigām:

Iepriekš redzamais momentuzņēmums parāda, ka vairākas patērētāju saskarnes ir izsauktas pa vienai, izmantojot pieņemt () ” metode.

3. piemērs. Izņēmums pēc darbības

Izņēmums rodas, ja “ pēc ' funkcija ' un tad() 'metode satur ' pieņemt () ” metode. Tas veido saskarni, kurā ir dati, kas jāapstrādā saskarnēs, izmantojot patērētāju interfeisa metodes, kā parādīts tālāk:

importēt java.util.ArrayList;
importēt java.util.LinkedList;
importēt java.util.List;
importēt java.util.function.Consumer;

publiskā klase Sakne {
publisks statisks tukšums galvenais ( Stīgu args [ ] )
{
Patērētājs < Saraksts < Vesels skaitlis > > vairoties = dataEle - >
{
priekš ( int j = 0 ; j < = dataEle.size ( ) ; j++ )
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
} ;
// Patērētājs, lai parādītu veselu skaitļu sarakstu
Patērētājs < Saraksts < Vesels skaitlis > >
drukāt = dataEle - > dataEle.stream ( ) .katram ( es - > System.out.print ( es + ' ' ) ) ;
Saraksts < Vesels skaitlis > dataEle = jauns ArrayList < Vesels skaitlis > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
mēģināt {
drukāt.un Tad ( vairoties ) .pieņemt ( dataEle ) ;
}
noķert ( Izņēmums e ) {
System.out.println ( 'Izņēmums:' + un ) ;
}
}
}

Iepriekš minētā koda bloka skaidrojums:

  • Pirmkārt, ' Patērētājs 'ir izveidots interfeiss, kas vienkārši ir vairāki' 5 ” veseli skaitļi ar datu elementiem, kas atrodas nodrošinātajā ArrayList.
  • Nākamais, otrais ' Patērētājs ” interfeiss ir izveidots, lai parādītu katru ArrayList datu elementu, ko saņem straume.
  • Pēc tam tiek izveidots ArrayList un inicializēts ar fiktīvu veselu skaitļu tipa vērtībām.
  • Pēc tam ' mēģināt ' bloks tiek izmantots, kurā ' un tad() ' metodi sauc ' drukāt ” interfeiss.
  • Tas izraisa ' IndexOutOfBoundsException ' tāpēc ka ' priekš 'Cilpas iterācijas limits ir pārsniegts, ko atrisina ' noķert ' bloķēt.

Pēc izpildes posma beigām:

Momentuzņēmums parāda, ka IndexOutOfBoundsException ir ģenerējis kompilators.

Secinājums

' Patērētājs ” interfeiss nodrošina veidu, kā definēt atkārtoti lietojamu uzvedību un veikt darbības ar ievades datiem, neatgriežot rezultātu. Tas sastāv no ' pieņemt () ' un ' un tad() ' metodes. To bieži izmanto datu apstrādes uzdevumiem, kur lietotājiem ir jāveic darbība ar katru kolekcijas vai straumes elementu. Tas ir viss par Java lietotāja saskarnes izmantošanu un ieviešanu.