Perla svētīšanas funkcija

Perla Svetisanas Funkcija



Objektorientētās programmēšanas sintakse programmā Perl nedaudz atšķiras no standarta objektorientētām programmēšanas valodām, piemēram, Java, C++, Python utt. Pakotnes atslēgvārds tiek izmantots Perl, lai definētu klasi Perl. Objekta un metodes deklarācija programmā Perl ir līdzīga mainīgā un apakšprogrammas deklarācijai, bet objekta deklarēšanas metode Perl, lai saistītu atsauci un referentu, atšķiras no citām programmēšanas valodām. Lai veiktu šo uzdevumu, tiek izmantota funkcija bless(). Šajā apmācībā ir parādīts, kā izmantot funkciju Bless, lai veiktu Perl objektu orientētu programmēšanu.

Sintakse:

Funkcijas “Svētīt” sintakse ir dota tālāk. Šo funkciju var izmantot ar vienu argumentu vai diviem argumentiem. Parasti šī funkcija tiek izmantota ar diviem argumentiem, kur pirmais arguments ir atsauces mainīgais, bet otrais arguments ir klases nosaukums, uz kuru atsaucas pirmais arguments. Ja to izmanto ar vienu argumenta vērtību, atsauces mainīgais attiecas uz pašreizējo pakotni.







svētīt ref

vai



svētīt ref , klases nosaukums

Dažādi funkcijas Bless() piemēri

Funkcijas bless() izmantošana dažādos veidos ir parādīta šajā apmācības daļā.



1. piemērs: Vienkāršās klases un objekta izmantošana

Šajā piemērā pakotne ar nosaukumu “Grāmata” satur apakšprogrammu, kas darbojas kā klases konstruktora metode. Šeit funkcija “bless” tiek izmantota, lai saistītu mainīgos ar klases nosaukumu, kas tiek nodrošināts metodes Init () izsaukšanas laikā.





#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;

#Definējiet paketi
iepakojuma grāmata ;
#Definējiet konstruktoru
zem Init
{
#Inicializējiet klases nosaukumu
mans $className = maiņa ;
#Inicializējiet mainīgos
mani $ mainīgie = {
'BookName' => maiņa ,
'Autora vārds' => maiņa ,
'PublishedYear' => maiņa ,
'Cena' => maiņa
} ;

#Iestatiet atsauci ar atsauci
svētīt $mainīgos , $className ;
#Atgriezt atsauces mainīgo
atgriezties $mainīgie lielumi ;
}

#Izveidojiet klases objektu
mana $bookObj = Init grāmata ( 'Mācīties Perlu' , 'Rendāls L. Švarcs' , 1993. gads , Četri, pieci ) ;

#Izdrukājiet klases mainīgo vērtības
saki 'Grāmatas informācija:' ;
saki ' \n Grāmatas nosaukums: $bookObj->{'BookName'}' ;
saki 'Autora vārds: $bookObj->{'AuthorName'}' ;
saki 'Izdošanas gads: $bookObj->{'PublishedYear'}' ;
saki 'Cena: \$ $bookObj->{'Price'}' ;

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade:



  p1

2. piemērs. Klases un objekta izmantošana ar vairākām metodēm

Šajā piemērā pakotnē ar nosaukumu “Produkti” ir divas metodes. Viena no metodēm ir Init (), ko izmanto, lai inicializētu nepieciešamos mainīgos un atsauktos uz mainīgajiem ar klases nosaukumu, izmantojot funkciju “bless”. Lai aprēķinātu produkta atlaides cenu, tiek izmantota cita metode, kas ir aprēķins_cena().

#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;

#Definējiet paketi
iepakojums Produkts ;
mani $ mainīgie = { } ;

#Definējiet konstruktoru
zem Init
{
#Inicializējiet klases nosaukumu
mans $className = maiņa ;
#Inicializējiet mainīgos
$mainīgie lielumi = {

'ID' => maiņa ,
'vārds' => maiņa ,
'Cena' => maiņa

} ;

#Iestatiet atsauci ar atsauci
svētīt $mainīgos , $className ;
#Atgriezt atsauces mainīgo
atgriezties $mainīgie lielumi ;
}

#Deklarēt metodi atlaides cenas aprēķināšanai
apakšaprēķināt_cenu
{

mana $ atlaides_cena = $mainīgie- > { 'Cena' } - $mainīgie- > { 'Cena' } * 0.1 ;
saki 'Cena ar atlaidi: \$ $ atlaide_cena' ;

}

#Izveidojiet klases objektu
mans $proObj = Sākotnējais produkts ( '6745' , 'Dell monitors' , piecdesmit ) ;

#Izdrukājiet klases mainīgo vērtības
saki 'Informācija par produktu pēc 10 \% atlaide: ' ;
saki ' \n Id: $proObj->{'Id'}' ;
saki 'Vārds: $proObj->{'Name'}' ;
saki 'Sākotnējā cena: \$ $proObj->{'Price'}' ;

#Izsauciet objekta metodi
$proObj- > aprēķināt_cenu ( ) ;

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade:

  p2

3. piemērs. Klases izmantošana, izveidojot moduli

Šajā piemērā lietotāja definētais Perl modulis tiek izveidots atsevišķā failā ar nosaukumu “CalPower.pm”, kurā tiek izmantota funkcija “bless”. Izveidojiet šo failu ar šādu Perl skriptu. Šis modulis aprēķina “x n “ kur “x” un “n” vērtības tiek nodrošinātas no Perl skripta, kurā šis modulis ir importēts.

#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;

#Definējiet pakotnes nosaukumu
pakete CalPower ;

#Definējiet konstruktoru
zem Init
{
mans $className = maiņa ;
mans $var =
{
numuru => maiņa ,
jauda => maiņa
} ;

svētīt $var , $className ;
atgriezties $var ;

}

#Definējiet metodi jaudas vērtības aprēķināšanai
sub Aprēķināt
{
mans $var = maiņa ;
mans $ rezultāts = $var- > { 'numurs' } ;
priekš ( mans $i = 1 ; $i < $var- > { 'spēks' } ; $i++ )
{
$rezultāts = $var- > { 'numurs' } * $rezultāts ;
}
atgriezties $rezultāts ;

}

Izveidojiet Perl failu ar šādu skriptu, kurā tiek importēts modulis “CalPower”, lai aprēķinātu jaudu, pamatojoties uz ievades vērtību, kas tiek ņemta no lietotāja.

#!/usr/bin/perl

izmantojiet stingru ;
izmantot brīdinājumus ;
izmantot 5.34.0 ;
izmantojiet CalPower ;

#Ņemiet bāzes vērtību
drukāt 'Ievadiet x vērtību:' ;
chomp ( mans $x = <> ) ;
#Paņemiet spēku ieleju
drukāt 'Ievadiet n vērtību:' ;
chomp ( mans $n = <> ) ;

#Izveidojiet klases objektu
mans $Obj = Init CalPower ( $x , $n ) ;

#Izdrukājiet aprēķināto jaudas vērtību
drukāt '$x pakāpei $n ir' ;
saki $Obj- > Aprēķināt ( ) ;

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade:

  p3

Secinājums

Funkcijas “svētīt” izmantošana Perl ir parādīta šajā apmācībā, izveidojot pakotni tajā pašā Perl failā un izveidojot moduli citā failā.