Funkcia Perl Bless

Funkcia Perl Bless



Syntax objektovo orientovaného programovania v Perle je trochu odlišná od štandardných objektovo orientovaných programovacích jazykov ako Java, C++, Python atď. Kľúčové slovo package sa používa v Perle na definovanie triedy v Perle. Deklarácia objektu a metódy v Perle je podobná deklarácii premennej a podprogramu, ale metóda deklarovania objektu v Perle, aby spájala referenciu a referent, je odlišná od iných programovacích jazykov. Na vykonanie tejto úlohy sa používa funkcia bless(). Využitie funkcie bless na objektovo orientované programovanie v Perle je uvedené v tomto návode.

Syntax:

Syntax funkcie „požehnať“ je uvedená nižšie. Túto funkciu možno použiť s jedným argumentom alebo dvoma argumentmi. Normálne sa táto funkcia používa s dvoma argumentmi, kde prvý argument je referenčná premenná a druhý argument je názov triedy, na ktorý odkazuje prvý argument. Keď sa použije s jednou hodnotou argumentu, referenčná premenná sa vzťahuje na aktuálny balík.







požehnať ref

alebo



požehnať ref , meno triedy

Rôzne príklady funkcie Bless().

V tejto časti tutoriálu je znázornené použitie funkcie bless() viacerými spôsobmi.



Príklad 1: Použitie jednoduchej triedy a objektu

V tomto príklade balík s názvom „Kniha“ obsahuje podprogram, ktorý funguje ako metóda konštruktora triedy. Tu sa funkcia „bless“ používa na spojenie premenných s názvom triedy, ktorý je poskytnutý v čase volania metódy Init().





#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;

#Definujte balík
balík Kniha ;
#Definujte konštruktor
pod Init
{
#Inicializujte názov triedy
moje $className = posun ;
#Inicializujte premenné
moje $premenné = {
'BookName' => posun ,
'názov autora' => posun ,
'PublishedYear' => posun ,
'Cena' => posun
} ;

#Nastavte referenciu s referenciou
požehnaj $premenné , $className ;
#Vráťte referenčnú premennú
vrátiť $premenné ;
}

#Vytvorte objekt triedy
moja $bookObj = Úvodná kniha ( 'Učíme sa Perl' , 'Randal L. Schwartz' , 1993 , Štyri, päť ) ;

#Vytlačte hodnoty premenných triedy
povedať 'Podrobnosti knihy:' ;
povedať ' \n Názov knihy: $bookObj->{'BookName'}' ;
povedať 'Meno autora: $bookObj->{'AuthorName'}' ;
povedať 'Rok vydania: $bookObj->{'PublishedYear'}' ;
povedať 'Cena: \$ $bookObj->{'Price'}' ;

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup:



  p1

Príklad 2: Použitie triedy a objektu s viacerými metódami

V tomto príklade balík s názvom „Produkty“ obsahuje dve metódy. Jednou z metód je Init(), ktorá sa používa na inicializáciu potrebných premenných a odkazovanie na premenné s názvom triedy pomocou funkcie „bless“. Na výpočet diskontnej ceny produktu sa používa ďalšia metóda, ktorou je vypočítať_cena().

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;

#Definujte balík
balík Produkt ;
moje $premenné = { } ;

#Definujte konštruktor
pod Init
{
#Inicializujte názov triedy
moje $className = posun ;
#Inicializujte premenné
$premenné = {

'Id' => posun ,
'Názov' => posun ,
'Cena' => posun

} ;

#Nastavte referenciu s referenciou
požehnaj $premenné , $className ;
#Vráťte referenčnú premennú
vrátiť $premenné ;
}

#Deklarujte metódu výpočtu diskontnej ceny
podvypočítať_cenu
{

moja $discount_price = $variables- > { 'Cena' } - $variables- > { 'Cena' } * 0,1 ;
povedať 'Zľavnená cena: \$ $discount_price' ;

}

#Vytvorte objekt triedy
môj $proObj = Úvodný produkt ( '6745' , 'Dell monitor' , päťdesiat ) ;

#Vytlačte hodnoty premenných triedy
povedať 'Informácie o produkte po 10 \% zľava: ' ;
povedať ' \n Id: $proObj->{'Id'}' ;
povedať 'Názov: $proObj->{'Name'}' ;
povedať 'Pôvodná cena: \$ $proObj->{'Price'}' ;

#Zavolajte metódu objektu
$proObj- > vypočítať_cenu ( ) ;

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup:

  p2

Príklad 3: Použitie triedy vytvorením modulu

V tomto príklade je používateľsky definovaný modul Perl vytvorený v samostatnom súbore s názvom „CalPower.pm“, kde je použitá funkcia „bless“. Vytvorte tento súbor pomocou nasledujúceho skriptu Perl. Tento modul vypočítava „x n “ kde hodnoty „x“ a „n“ sú poskytnuté zo skriptu Perl, kam je tento modul importovaný.

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;

#Definujte názov balíka
balík CalPower ;

#Definujte konštruktor
pod Init
{
moje $className = posun ;
moja $var =
{
číslo => posun ,
moc => posun
} ;

požehnaj $var , $className ;
vrátiť $var ;

}

# Definujte metódu výpočtu hodnoty výkonu
podVypočítať
{
moja $var = posun ;
môj $výsledok = $var- > { 'číslo' } ;
pre ( moje $i = 1 ; $i < $var- > { 'moc' } ; $i++ )
{
$výsledok = $var- > { 'číslo' } * $výsledok ;
}
vrátiť $výsledok ;

}

Vytvorte súbor Perl pomocou nasledujúceho skriptu, do ktorého sa importuje modul „CalPower“ na výpočet výkonu na základe vstupnej hodnoty, ktorú získa používateľ.

#!/usr/bin/perl

používať prísne ;
použitie upozornenia ;
použite 5.34.0 ;
použite CalPower ;

#Vezmite základnú hodnotu
vytlačiť 'Zadajte hodnotu x:' ;
žumpa ( moje x $ = <> ) ;
#Vezmi si mocenský val
vytlačiť 'Zadajte hodnotu n:' ;
žumpa ( moje $n = <> ) ;

#Vytvorte objekt triedy
môj $Obj = Spustite CalPower ( x $ , $ n ) ;

#Vytlačte vypočítanú hodnotu výkonu
vytlačiť '$x na mocninu $n je' ;
povedzte $Obj- > Vypočítajte ( ) ;

Výkon:

Po vykonaní skriptu sa zobrazí nasledujúci výstup:

  p3

Záver

Použitie funkcie „požehnať“ v Perle je ukázané v tomto návode vytvorením balíka v rovnakom súbore Perl a vytvorením modulu v inom súbore.