Η συνάρτηση Perl Bless

E Synartese Perl Bless



Η αντικειμενοστραφής σύνταξη προγραμματισμού στην Perl είναι λίγο διαφορετική από τις τυπικές αντικειμενοστρεφείς γλώσσες προγραμματισμού όπως Java, C++, Python, κ.λπ. Η λέξη-κλειδί πακέτου χρησιμοποιείται στην Perl για να ορίσει μια κλάση στην Perl. Η δήλωση αντικειμένου και μεθόδου στο Perl είναι παρόμοια με τη δήλωση μεταβλητής και υπορουτίνας, αλλά η μέθοδος δήλωσης ενός αντικειμένου στο Perl για τη συσχέτιση της αναφοράς και της αναφοράς είναι διαφορετική από άλλες γλώσσες προγραμματισμού. Η συνάρτηση bless() χρησιμοποιείται για την εκτέλεση αυτής της εργασίας. Οι χρήσεις της συνάρτησης bless για να κάνετε τον αντικειμενοστραφή προγραμματισμό στην Perl παρουσιάζονται σε αυτό το σεμινάριο.

Σύνταξη:

Η σύνταξη της συνάρτησης «ευλογεί» δίνεται παρακάτω. Αυτή η συνάρτηση μπορεί να χρησιμοποιηθεί με ένα όρισμα ή δύο ορίσματα. Κανονικά, αυτή η συνάρτηση χρησιμοποιείται με δύο ορίσματα όπου το πρώτο όρισμα είναι η μεταβλητή αναφοράς και το δεύτερο όρισμα είναι το όνομα της κλάσης που αναφέρεται από το πρώτο όρισμα. Όταν χρησιμοποιείται με μία τιμή ορίσματος, η μεταβλητή αναφοράς αναφέρεται στο τρέχον πακέτο.







ευλογεί αναφ

ή



ευλογεί αναφ , όνομα τάξης

Διαφορετικά παραδείγματα της συνάρτησης Bless().

Οι χρήσεις της συνάρτησης bless() με πολλούς τρόπους παρουσιάζονται σε αυτό το μέρος του σεμιναρίου.



Παράδειγμα 1: Χρήση της Απλής Κλάσης και Αντικειμένου

Σε αυτό το παράδειγμα, το πακέτο με το όνομα 'Book' περιέχει μια υπορουτίνα που λειτουργεί όπως η μέθοδος κατασκευής της κλάσης. Εδώ, η συνάρτηση «bless» χρησιμοποιείται για να συσχετίσει τις μεταβλητές με το όνομα της κλάσης που παρέχεται τη στιγμή της κλήσης της μεθόδου Init().





#!/usr/bin/perl

χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;

#Ορίστε το πακέτο
Βιβλίο πακέτου ;
#Ορίστε τον κατασκευαστή
κάτω από το Init
{
#Αρχικοποιήστε το όνομα της τάξης
$className μου = βάρδια ;
#Αρχικοποιήστε τις μεταβλητές
τις $μεταβλητές μου = {
'Όνομα βιβλίου' => βάρδια ,
'Όνομα συγγραφέα' => βάρδια ,
'Έτος Έκδοσης' => βάρδια ,
'Τιμή' => βάρδια
} ;

#Ρυθμίστε την αναφορά με την αναφορά
ευλογεί $variables , $className ;
#Επιστροφή της μεταβλητής αναφοράς
ΕΠΙΣΤΡΟΦΗ $μεταβλητές ;
}

#Δημιουργήστε ένα αντικείμενο της κλάσης
το $bookObj μου = Init Book ( 'Μαθαίνω Perl' , 'Ράνταλ Λ. Σβαρτς' , 1993 , Τέσσερα πέντε ) ;

#Εκτυπώστε τις τιμές των μεταβλητών κλάσης
λένε 'Λεπτομέρειες βιβλίου:' ;
λένε ' \n Όνομα βιβλίου: $bookObj->{'BookName'}' ;
λένε 'Όνομα συγγραφέα: $bookObj->{'AuthorName'}' ;
λένε 'Έτος Έκδοσης: $bookObj->{'PublishedYear'}' ;
λένε 'Τιμή: \$ $bookObj->{'Τιμή'}' ;

Παραγωγή:

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:



  p1

Παράδειγμα 2: Χρήση της κλάσης και του αντικειμένου με πολλαπλές μεθόδους

Σε αυτό το παράδειγμα, το πακέτο με το όνομα 'Προϊόντα' περιέχει δύο μεθόδους. Μια μέθοδος είναι η Init() που χρησιμοποιείται για την προετοιμασία των απαραίτητων μεταβλητών και αναφέρεται στις μεταβλητές με το όνομα της κλάσης χρησιμοποιώντας τη συνάρτηση «bless». Μια άλλη μέθοδος, η οποία είναι τοcal_price() χρησιμοποιείται για τον υπολογισμό της τιμής έκπτωσης του προϊόντος.

#!/usr/bin/perl

χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;

#Ορίστε το πακέτο
συσκευασία προϊόντος ;
τις $μεταβλητές μου = { } ;

#Ορίστε τον κατασκευαστή
κάτω από το Init
{
#Αρχικοποιήστε το όνομα της τάξης
$className μου = βάρδια ;
#Αρχικοποιήστε τις μεταβλητές
$μεταβλητές = {

'Ταυτότητα' => βάρδια ,
'Ονομα' => βάρδια ,
'Τιμή' => βάρδια

} ;

#Ρυθμίστε την αναφορά με την αναφορά
ευλογεί $variables , $className ;
#Επιστροφή της μεταβλητής αναφοράς
ΕΠΙΣΤΡΟΦΗ $μεταβλητές ;
}

Μέθοδος #Declare για τον υπολογισμό της τιμής έκπτωσης
υπουπολογισμός_τιμής
{

$discount_price μου = $variables- > { 'Τιμή' } - $variables- > { 'Τιμή' } * 0.1 ;
λένε 'Εκπτωτική τιμή: \$ $discount_price' ;

}

#Δημιουργήστε ένα αντικείμενο της κλάσης
$proObj μου = Αρχικό προϊόν ( '6745' , 'Οθόνη Dell' , πενήντα ) ;

#Εκτυπώστε τις τιμές των μεταβλητών κλάσης
λένε 'Πληροφορίες προϊόντος μετά τις 10 \% έκπτωση: ' ;
λένε ' \n Αναγνωριστικό: $proObj->{'Id'}' ;
λένε 'Όνομα: $proObj->{'Name'}' ;
λένε 'Αρχική τιμή: \$ $proObj->{'Τιμή'}' ;

#Καλέστε τη μέθοδο αντικειμένου
$proObj- > υπολογισμός_τιμής ( ) ;

Παραγωγή:

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:

  p2

Παράδειγμα 3: Χρήση της τάξης με τη δημιουργία μιας ενότητας

Σε αυτό το παράδειγμα, η μονάδα Perl που ορίζεται από το χρήστη δημιουργείται σε ένα ξεχωριστό αρχείο με το όνομα 'CalPower.pm' όπου χρησιμοποιείται η συνάρτηση 'bless'. Δημιουργήστε αυτό το αρχείο με το ακόλουθο σενάριο Perl. Αυτή η ενότητα υπολογίζει το «x n ' όπου οι τιμές των 'x' και 'n' παρέχονται από το σενάριο Perl όπου εισάγεται αυτή η ενότητα.

#!/usr/bin/perl

χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;

#Ορίστε το όνομα του πακέτου
πακέτο CalPower ;

#Ορίστε τον κατασκευαστή
κάτω από το Init
{
$className μου = βάρδια ;
$var μου =
{
αριθμός => βάρδια ,
εξουσία => βάρδια
} ;

ευλογεί $var , $className ;
ΕΠΙΣΤΡΟΦΗ $var ;

}

#Ορίστε τη μέθοδο υπολογισμού της τιμής ισχύος
υπο Υπολογισμός
{
$var μου = βάρδια ;
το $αποτέλεσμά μου = $var- > { 'αριθμός' } ;
Για ( $i μου = 1 ; $i < $var- > { 'εξουσία' } ; $i++ )
{
$result = $var- > { 'αριθμός' } * $αποτέλεσμα ;
}
ΕΠΙΣΤΡΟΦΗ $result ;

}

Δημιουργήστε ένα αρχείο Perl με την ακόλουθη δέσμη ενεργειών όπου εισάγεται η μονάδα 'CalPower' για να υπολογίσετε την ισχύ με βάση την τιμή εισόδου που λαμβάνεται από τον χρήστη.

#!/usr/bin/perl

χρησιμοποιήστε αυστηρά ;
χρήση προειδοποιήσεις ;
χρησιμοποιήστε 5.34.0 ;
χρησιμοποιήστε CalPower ;

#Λάβετε τη βασική τιμή
Τυπώνω 'Εισαγάγετε την τιμή του x:' ;
chomp ( $x μου = <> ) ;
#Πάρτε το power vale
Τυπώνω 'Εισαγάγετε την τιμή του n:' ;
chomp ( $n μου = <> ) ;

#Δημιουργήστε ένα αντικείμενο της κλάσης
μου $Obj = Εκκινήστε το CalPower ( $x , $n ) ;

#Εκτυπώστε την υπολογισμένη τιμή ισχύος
Τυπώνω '$x στην ισχύ $n είναι' ;
πείτε $Obj- > Υπολογίζω ( ) ;

Παραγωγή:

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:

  p3

συμπέρασμα

Οι χρήσεις της συνάρτησης 'bless' στην Perl παρουσιάζονται σε αυτό το σεμινάριο δημιουργώντας ένα πακέτο στο ίδιο αρχείο Perl και δημιουργώντας μια ενότητα σε διαφορετικό αρχείο.