Perl Bless funkcija

Perl Bless Funkcija



Sintaksa objektno orijentiranog programiranja u Perlu malo se razlikuje od standardnih objektno orijentiranih programskih jezika kao što su Java, C++, Python itd. Ključna riječ package koristi se u Perlu za definiranje klase u Perlu. Deklaracija objekta i metode u Perlu slična je deklaraciji varijable i potprograma, ali se metoda deklariranja objekta u Perlu radi povezivanja reference i referenta razlikuje od drugih programskih jezika. Za obavljanje ovog zadatka koristi se funkcija bless(). Upotreba funkcije bless za objektno orijentirano programiranje u Perlu prikazana je u ovom vodiču.

Sintaksa:

Sintaksa funkcije 'blagoslovi' dana je u nastavku. Ova se funkcija može koristiti s jednim ili dva argumenta. Obično se ova funkcija koristi s dva argumenta gdje je prvi argument referentna varijabla, a drugi argument je naziv klase na koju referencira prvi argument. Kada se koristi s jednom vrijednošću argumenta, referentna varijabla se odnosi na trenutni paket.







blagosloviti ref

ili



blagosloviti ref , ime klase

Različiti primjeri funkcije Bless().

Upotreba funkcije bless() na više načina prikazana je u ovom dijelu vodiča.



Primjer 1: Korištenje jednostavne klase i objekta

U ovom primjeru, paket pod nazivom 'Knjiga' sadrži potprogram koji radi kao metoda konstruktora klase. Ovdje se funkcija 'blagoslovi' koristi za povezivanje varijabli s nazivom klase koji se daje u trenutku pozivanja metode Init().





#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;

#Definirajte paket
paket Knjiga ;
#Definirajte konstruktor
pod Init
{
#Inicijaliziraj naziv klase
moj $className = pomaknuti ;
#Inicijalizirajte varijable
moje $varijable = {
'Naziv knjige' => pomaknuti ,
'AuthorName' => pomaknuti ,
'Godina izdanja' => pomaknuti ,
'Cijena' => pomaknuti
} ;

#Postavite referencu s referentom
blagoslovi $varijable , $className ;
#Vrati referentnu varijablu
povratak $varijable ;
}

#Kreirajte objekt klase
moj $bookObj = Početna knjiga ( 'Učenje Perla' , 'Randal L. Schwartz' , 1993. godine , Četiri pet ) ;

#Ispiši vrijednosti varijabli klase
reći 'Pojedinosti o knjizi:' ;
reći ' \n Naziv knjige: $bookObj->{'BookName'}' ;
reći 'Ime autora: $bookObj->{'AuthorName'}' ;
reći 'Godina izdanja: $bookObj->{'PublishedYear'}' ;
reći 'Cijena: \$ $bookObj->{'Price'}' ;

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz:



  p1

Primjer 2: Korištenje klase i objekta s više metoda

U ovom primjeru paket pod nazivom 'Proizvodi' sadrži dvije metode. Jedna metoda je Init() koja se koristi za inicijalizaciju potrebnih varijabli i upućivanje na varijable s nazivom klase pomoću funkcije 'blagoslovi'. Druga metoda, Calculate_price(), koristi se za izračun snižene cijene proizvoda.

#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;

#Definirajte paket
paket proizvoda ;
moje $varijable = { } ;

#Definirajte konstruktor
pod Init
{
#Inicijaliziraj naziv klase
moj $className = pomaknuti ;
#Inicijalizirajte varijable
$varijable = {

'Iskaznica' => pomaknuti ,
'Ime' => pomaknuti ,
'Cijena' => pomaknuti

} ;

#Postavite referencu s referentom
blagoslovi $varijable , $className ;
#Vrati referentnu varijablu
povratak $varijable ;
}

#Declare metoda za izračun cijene popusta
sub izračunaj_cijenu
{

moja $discount_price = $varijable- > { 'Cijena' } - $varijable- > { 'Cijena' } * 0,1 ;
reći 'Akcijska cijena: \$ $discount_price' ;

}

#Kreirajte objekt klase
moj $proObj = Pokreni proizvod ( '6745' , 'Dell monitor' , pedeset ) ;

#Ispiši vrijednosti varijabli klase
reći 'Informacije o proizvodu nakon 10 \% popust: ' ;
reći ' \n Id: $proObj->{'Id'}' ;
reći 'Ime: $proObj->{'Name'}' ;
reći 'Originalna cijena: \$ $proObj->{'Price'}' ;

#Pozovi metodu objekta
$proObj- > izračunaj_cijenu ( ) ;

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz:

  p2

Primjer 3: Korištenje klase stvaranjem modula

U ovom primjeru, korisnički definirani Perl modul stvoren je u zasebnoj datoteci pod nazivom 'CalPower.pm' gdje se koristi funkcija 'bless'. Stvorite ovu datoteku pomoću sljedeće Perl skripte. Ovaj modul izračunava “x n “ gdje su vrijednosti “x” i “n” dane iz Perl skripte u koju je ovaj modul uvezen.

#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;

#Definirajte naziv paketa
paket CalPower ;

#Definirajte konstruktor
pod Init
{
moj $className = pomaknuti ;
moj $var =
{
broj => pomaknuti ,
vlast => pomaknuti
} ;

blagosloviti $var , $className ;
povratak $var ;

}

#Definirajte metodu za izračunavanje vrijednosti snage
sub Izračunaj
{
moj $var = pomaknuti ;
moj $rezultat = $var- > { 'broj' } ;
za ( moj $i = 1 ; $i < $var- > { 'vlast' } ; $i++ )
{
$rezultat = $var- > { 'broj' } * $rezultat ;
}
povratak $rezultat ;

}

Stvorite Perl datoteku sa sljedećom skriptom u koju se uvozi modul 'CalPower' za izračun snage na temelju ulazne vrijednosti koju preuzima korisnik.

#!/usr/bin/perl

koristite strogi ;
koristiti upozorenja ;
koristiti 5.34.0 ;
koristite CalPower ;

#Uzmite osnovnu vrijednost
ispisati 'Unesite vrijednost x:' ;
žvakati ( moj $x = <> ) ;
#Uzmi dolinu snage
ispisati 'Unesite vrijednost n:' ;
žvakati ( moj $n = <> ) ;

#Kreirajte objekt klase
moj $Obj = Pokrenite CalPower ( $x , $n ) ;

#Ispiši izračunatu vrijednost snage
ispisati '$x na stepen $n je ' ;
reci $Obj- > Izračunati ( ) ;

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz:

  p3

Zaključak

Upotreba funkcije 'bless' u Perlu prikazana je u ovom vodiču stvaranjem paketa u istoj Perl datoteci i stvaranjem modula u drugoj datoteci.