Funkcja błogosławieństwa Perla

Funkcja Blogoslawienstwa Perla



Składnia programowania obiektowego w Perlu różni się nieco od standardowych języków programowania obiektowego, takich jak Java, C++, Python itp. Słowo kluczowe package jest używane w Perlu do definiowania klasy w Perlu. Deklaracja obiektu i metody w Perlu jest podobna do deklaracji zmiennych i podprogramów, ale metoda deklarowania obiektu w Perlu w celu powiązania referencji i desygnatu różni się od innych języków programowania. Do wykonania tego zadania używana jest funkcja bless(). W tym samouczku pokazano wykorzystanie funkcji bless do programowania obiektowego w Perlu.

Składnia:

Poniżej podana jest składnia funkcji „błogosław”. Funkcji tej można używać z jednym lub dwoma argumentami. Zwykle tej funkcji używa się z dwoma argumentami, gdzie pierwszym argumentem jest zmienna referencyjna, a drugim argumentem jest nazwa klasy, do której odwołuje się pierwszy argument. Gdy jest używana z jedną wartością argumentu, zmienna referencyjna odnosi się do bieżącego pakietu.







pobłogosław ref

Lub



pobłogosław ref , Nazwa klasy

Różne przykłady funkcji Bless().

W tej części samouczka pokazano różne zastosowania funkcji bless().



Przykład 1: Użycie prostej klasy i obiektu

W tym przykładzie pakiet o nazwie „Book” zawiera podprogram, który działa podobnie jak metoda konstruktora klasy. W tym przypadku funkcja „bless” służy do powiązania zmiennych z nazwą klasy podaną w momencie wywołania metody Init().





#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;

#Zdefiniuj pakiet
Pakiet Książka ;
#Zdefiniuj konstruktora
pod Init
{
#Zainicjuj nazwę klasy
moja nazwa klasy $ = zmiana ;
#Zainicjuj zmienne
moje zmienne $ = {
„Nazwa Książki” => zmiana ,
'Imię autora' => zmiana ,
„Rok publikacji” => zmiana ,
'Cena' => zmiana
} ;

#Ustaw odniesienie za pomocą odniesienia
pobłogosław zmienne $ , $Nazwa klasy ;
#Zwróć zmienną referencyjną
powrót $zmienne ;
}

#Utwórz obiekt klasy
mój $bookObj = Książka Inicjatywa ( „Nauka Perla” , „Randal L. Schwartz” , 1993 , Cztery pięć ) ;

#Wydrukuj wartości zmiennych klasy
mowić „Szczegóły książki:” ;
mowić ' \N Nazwa książki: $bookObj->{'BookName'}' ;
mowić „Nazwisko autora: $bookObj->{'AuthorName'}” ;
mowić „Rok publikacji: $bookObj->{'PublishedYear'}” ;
mowić 'Cena: \$ $bookObj->{'Cena'}' ;

Wyjście:

Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:



  p1

Przykład 2: Używanie klasy i obiektu z wieloma metodami

W tym przykładzie pakiet o nazwie „Produkty” zawiera dwie metody. Jedną z metod jest Init(), która służy do inicjowania niezbędnych zmiennych i odwoływania się do zmiennych z nazwą klasy za pomocą funkcji „błogosław”. Do obliczenia obniżonej ceny produktu używana jest inna metoda, czyli Calc_price().

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;

#Zdefiniuj pakiet
Pakiet Produktu ;
moje zmienne $ = { } ;

#Zdefiniuj konstruktora
pod Init
{
#Zainicjuj nazwę klasy
moja nazwa klasy $ = zmiana ;
#Zainicjuj zmienne
$zmienne = {

'ID' => zmiana ,
'Nazwa' => zmiana ,
'Cena' => zmiana

} ;

#Ustaw odniesienie za pomocą odniesienia
pobłogosław zmienne $ , $Nazwa klasy ;
#Zwróć zmienną referencyjną
powrót $zmienne ;
}

#Declare metoda obliczania ceny rabatowej
sub oblicz_cenę
{

moja cena $discount_ = $zmienne- > { 'Cena' } - $zmienne- > { 'Cena' } * 0,1 ;
mowić 'Promocyjna cena: \$ $rabatowa cena” ;

}

#Utwórz obiekt klasy
mój $proObj = Produkt początkowy ( „6745” , „Monitor Della” , pięćdziesiąt ) ;

#Wydrukuj wartości zmiennych klasy
mowić „Informacje o produkcie po 10 \% rabat: ' ;
mowić ' \N Identyfikator: $proObj->{'Id'}' ;
mowić „Nazwa: $proObj->{'Nazwa'}” ;
mowić 'Cena oryginalna: \$ $proObj->{'Cena'}' ;

#Wywołaj metodę obiektu
$proObj- > oblicz_cenę ( ) ;

Wyjście:

Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:

  p2

Przykład 3: Użycie klasy poprzez utworzenie modułu

W tym przykładzie zdefiniowany przez użytkownika moduł Perla jest tworzony w oddzielnym pliku o nazwie „CalPower.pm”, w którym używana jest funkcja „błogosław”. Utwórz ten plik za pomocą następującego skryptu Perla. Moduł ten oblicza wartość „x N „ gdzie wartości „x” i „n” pochodzą ze skryptu Perla, z którego importowany jest ten moduł.

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;

#Zdefiniuj nazwę pakietu
pakiet CalPower ;

#Zdefiniuj konstruktora
pod Init
{
moja nazwa klasy $ = zmiana ;
mój $var =
{
numer => zmiana ,
moc => zmiana
} ;

pobłogosław $var , $Nazwa klasy ;
powrót $zmienna ;

}

#Określ metodę obliczania wartości mocy
pod Oblicz
{
mój $var = zmiana ;
mój $wynik = $zmienna- > { 'numer' } ;
Do ( moje $i = 1 ; $tj < $zmienna- > { 'moc' } ; $i++ )
{
$wynik = $zmienna- > { 'numer' } * $wynik ;
}
powrót $wynik ;

}

Utwórz plik Perl z następującym skryptem, do którego zostanie zaimportowany moduł „CalPower” w celu obliczenia mocy na podstawie wartości wejściowej pobranej od użytkownika.

#!/usr/bin/perl

użyj ścisłego ;
używać ostrzeżenia ;
użyj wersji 5.34.0 ;
użyj CalPowera ;

#Weź wartość bazową
wydrukować „Wprowadź wartość x:” ;
przegryźć ( moje x dolarów = <> ) ;
#Weź dolinę mocy
wydrukować „Wprowadź wartość n:” ;
przegryźć ( moje $n = <> ) ;

#Utwórz obiekt klasy
mój $Obj = Uruchom CalPower ( $x , $n ) ;

#Wydrukuj obliczoną wartość mocy
wydrukować „$x do potęgi $n wynosi” ;
powiedz $Obj- > Oblicz ( ) ;

Wyjście:

Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:

  p3

Wniosek

W tym samouczku pokazano wykorzystanie funkcji „błogosław” w Perlu poprzez utworzenie pakietu w tym samym pliku Perla i utworzenie modułu w innym pliku.