Funkce Perl Bless

Funkce Perl Bless



Syntaxe objektově orientovaného programování v Perlu se trochu liší od standardních objektově orientovaných programovacích jazyků jako Java, C++, Python atd. Klíčové slovo package se v Perlu používá k definování třídy v Perlu. Deklarace objektu a metody v Perlu jsou podobné deklaraci proměnné a podprogramu, ale způsob deklarování objektu v Perlu, aby vztahoval odkaz a referent, se liší od jiných programovacích jazyků. K provedení tohoto úkolu se používá funkce bless(). Použití funkce bless k objektově orientovanému programování v Perlu je ukázáno v tomto tutoriálu.

Syntax:

Syntaxe funkce „bless“ je uvedena níže. Tuto funkci lze použít s jedním nebo dvěma argumenty. Normálně se tato funkce používá se dvěma argumenty, kde první argument je referenční proměnná a druhý argument je název třídy, na který odkazuje první argument. Když je použita s jednou hodnotou argumentu, referenční proměnná odkazuje na aktuální balíček.







požehnat čj

nebo



požehnat čj , jméno třídy

Různé příklady funkce Bless().

V této části tutoriálu je ukázáno použití funkce bless() několika způsoby.



Příklad 1: Použití jednoduché třídy a objektu

V tomto příkladu balíček s názvem „Kniha“ obsahuje podprogram, který funguje jako metoda konstruktoru třídy. Zde se funkce „bless“ používá ke spojení proměnných s názvem třídy, který je zadán v době volání metody Init().





#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;

#Definujte balíček
balíček Kniha ;
#Definujte konstruktor
pod Init
{
#Inicializujte název třídy
moje $className = posun ;
#Inicializovat proměnné
moje $proměnné = {
'BookName' => posun ,
'AuthorName' => posun ,
'PublishedYear' => posun ,
'Cena' => posun
} ;

#Nastavte referenci s referentem
požehnej $proměnným , $className ;
#Vraťte referenční proměnnou
vrátit se $proměnné ;
}

#Vytvořte objekt třídy
moje $bookObj = Úvodní kniha ( 'Učíme se Perl' , 'Randal L. Schwartz' , 1993 , Čtyři pět ) ;

#Vytiskněte hodnoty proměnných třídy
říci 'Podrobnosti o knize:' ;
říci ' \n Název knihy: $bookObj->{'BookName'}' ;
říci 'Jméno autora: $bookObj->{'AuthorName'}' ;
říci 'Published Year: $bookObj->{'PublishedYear'}' ;
říci 'Cena: \$ $bookObj->{'Price'}' ;

Výstup:

Po spuštění skriptu se zobrazí následující výstup:



  p1

Příklad 2: Použití třídy a objektu s více metodami

V tomto příkladu obsahuje balíček s názvem „Produkty“ dvě metody. Jednou z metod je Init(), která se používá k inicializaci nezbytných proměnných a odkazování na proměnné s názvem třídy pomocí funkce „bless“. K výpočtu diskontní ceny produktu se používá další metoda, která je kalkulovat_cena().

#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;

#Definujte balíček
balíček Produkt ;
moje $proměnné = { } ;

#Definujte konstruktor
pod Init
{
#Inicializujte název třídy
moje $className = posun ;
#Inicializovat proměnné
$proměnné = {

'ID' => posun ,
'Název' => posun ,
'Cena' => posun

} ;

#Nastavte referenci s referentem
požehnej $proměnným , $className ;
#Vraťte referenční proměnnou
vrátit se $proměnné ;
}

#Declare metodu výpočtu diskontní ceny
pod výpočet_ceny
{

moje $discount_price = $variables- > { 'Cena' } - $proměnné- > { 'Cena' } * 0,1 ;
říci 'Sleva: \$ $discount_price' ;

}

#Vytvořte objekt třídy
můj $proObj = Init Product ( '6745' , 'Monitor Dell' , padesáti ) ;

#Vytiskněte hodnoty proměnných třídy
říci 'Informace o produktu po 10 \% sleva: ' ;
říci ' \n Id: $proObj->{'Id'}' ;
říci 'Jméno: $proObj->{'Name'}' ;
říci 'Původní cena: \$ $proObj->{'Price'}' ;

#Zavolejte metodu objektu
$proObj- > vypočítat_cenu ( ) ;

Výstup:

Po spuštění skriptu se zobrazí následující výstup:

  p2

Příklad 3: Použití třídy vytvořením modulu

V tomto příkladu je uživatelsky definovaný modul Perl vytvořen v samostatném souboru s názvem „CalPower.pm“, kde je použita funkce „bless“. Vytvořte tento soubor pomocí následujícího skriptu Perl. Tento modul vypočítá „x n “ kde hodnoty „x“ a „n“ jsou poskytnuty ze skriptu Perl, kam je tento modul importován.

#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;

#Definujte název balíčku
balíček CalPower ;

#Definujte konstruktor
pod Init
{
moje $className = posun ;
moje $var =
{
číslo => posun ,
Napájení => posun
} ;

požehnat $var , $className ;
vrátit se $var ;

}

# Definujte metodu výpočtu hodnoty výkonu
pod Vypočítat
{
moje $var = posun ;
můj $výsledek = $var- > { 'číslo' } ;
pro ( moje $i = 1 ; $i < $var- > { 'Napájení' } ; $i++ )
{
$výsledek = $var- > { 'číslo' } * $výsledek ;
}
vrátit se $výsledek ;

}

Vytvořte soubor Perl pomocí následujícího skriptu, do kterého je importován modul „CalPower“ pro výpočet výkonu na základě vstupní hodnoty převzaté od uživatele.

#!/usr/bin/perl

používat přísné ;
použití varování ;
použijte 5.34.0 ;
použijte CalPower ;

#Vezmi základní hodnotu
tisk 'Zadejte hodnotu x:' ;
žvýkat ( můj x $ = <> ) ;
#Vezmi si mocninu
tisk 'Zadejte hodnotu n:' ;
žvýkat ( můj $n = <> ) ;

#Vytvořte objekt třídy
můj $Obj = Spusťte CalPower ( x $ , $ n ) ;

#Vytiskněte vypočítanou hodnotu výkonu
tisk '$x na mocninu $n je' ;
řekni $Obj- > Vypočítat ( ) ;

Výstup:

Po spuštění skriptu se zobrazí následující výstup:

  p3

Závěr

Použití funkce „bless“ v Perlu je ukázáno v tomto tutoriálu vytvořením balíčku ve stejném souboru Perl a vytvořením modulu v jiném souboru.