وظيفة بيرل بليس

Wzyft Byrl Blys



يختلف بناء جملة البرمجة الشيئية في Perl قليلاً عن لغات البرمجة الشيئية القياسية مثل Java وC++ وPython وما إلى ذلك. يتم استخدام الكلمة الأساسية package في Perl لتحديد فئة في Perl. يتشابه إعلان الكائن والأسلوب في Perl مع إعلان المتغير والروتين الفرعي، لكن طريقة الإعلان عن كائن في Perl لربط المرجع والمرجع تختلف عن لغات البرمجة الأخرى. يتم استخدام الدالة Bless() للقيام بهذه المهمة. يتم عرض استخدامات الدالة Bless للقيام بالبرمجة الموجهة للكائنات في Perl في هذا البرنامج التعليمي.

بناء الجملة:

يتم تقديم صيغة الدالة 'bless' في ما يلي. يمكن استخدام هذه الوظيفة مع وسيطة واحدة أو وسيطتين. عادةً، يتم استخدام هذه الدالة مع وسيطتين حيث تكون الوسيطة الأولى هي المتغير المرجعي والوسيطة الثانية هي اسم الفئة المشار إليه بواسطة الوسيطة الأولى. عند استخدامه مع قيمة وسيطة واحدة، يشير المتغير المرجعي إلى الحزمة الحالية.







بارك المرجع

أو



بارك المرجع , اسم الفئة

أمثلة مختلفة للدالة Bless()

يتم عرض استخدامات الدالة Bless() بطرق متعددة في هذا الجزء من البرنامج التعليمي.



المثال 1: استخدام الفئة البسيطة والكائن

في هذا المثال، تحتوي الحزمة المسماة 'Book' على روتين فرعي يعمل مثل الأسلوب المنشئ للفئة. هنا، يتم استخدام الدالة 'bless' لربط المتغيرات باسم الفئة الذي يتم توفيره في وقت استدعاء أسلوب Init().





#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;

#تعريف الحزمة
كتاب الحزمة ;
#تعريف المنشئ
تحت الحرف الأول
{
# تهيئة اسم الفصل
اسم فئة $ الخاص بي = يحول ;
#تهيئة المتغيرات
المتغيرات $ الخاصة بي = {
'اسم الكتاب' => يحول ,
'اسم المؤلف' => يحول ,
'سنة النشر' => يحول ,
'سعر' => يحول
} ;

# قم بتعيين المرجع مع المرجع
يبارك المتغيرات $ , $className ;
# إرجاع المتغير المرجعي
يعود المتغيرات $ ;
}

#إنشاء كائن من الفئة
كتابي $bookObj = كتاب أولي ( 'تعلم بيرل' , 'راندال إل. شوارتز' , 1993 , أربعة خمسة ) ;

# اطبع قيم متغيرات الفئة
يقول 'تفاصيل الكتاب:' ;
يقول ' اسم الكتاب: $bookObj->{'BookName'}' ;
يقول 'اسم المؤلف: $bookObj->{'AuthorName'}' ;
يقول 'سنة النشر: $bookObj->{'PublishedYear'}' ;
يقول 'سعر: \$ $bookObj->{'السعر'}' ;

انتاج:

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي:



  ص1

المثال 2: استخدام الفئة والكائن بطرق متعددة

في هذا المثال، تحتوي الحزمة المسماة 'المنتجات' على طريقتين. إحدى الطرق هي Init() والتي تُستخدم لتهيئة المتغيرات الضرورية والإشارة إلى المتغيرات باسم الفئة باستخدام الدالة 'bless'. يتم استخدام طريقة أخرى وهي count_price() لحساب سعر الخصم للمنتج.

#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;

#تعريف الحزمة
منتج الحزمة ;
المتغيرات $ الخاصة بي = { } ;

#تعريف المنشئ
تحت الحرف الأول
{
# تهيئة اسم الفصل
اسم فئة $ الخاص بي = يحول ;
#تهيئة المتغيرات
المتغيرات $ = {

'بطاقة تعريف' => يحول ,
'اسم' => يحول ,
'سعر' => يحول

} ;

# قم بتعيين المرجع مع المرجع
يبارك المتغيرات $ , $className ;
# إرجاع المتغير المرجعي
يعود المتغيرات $ ;
}

#الإعلان عن طريقة حساب سعر الخصم
حساب_السعر الفرعي
{

$discount_price = المتغيرات $- > { 'سعر' } - المتغيرات $- > { 'سعر' } * 0.1 ;
يقول 'سعر الخصم: \$ $discount_price' ;

}

#إنشاء كائن من الفئة
بلدي $proObj = المنتج الأولي ( '6745' , 'شاشة ديل' , خمسون ) ;

# اطبع قيم متغيرات الفئة
يقول 'معلومات المنتج بعد 10 \% تخفيض: ' ;
يقول ' المعرف: $proObj->{'المعرف'}' ;
يقول 'الاسم: $proObj->{'Name'}' ;
يقول 'السعر الأصلي: \$ $proObj->{'السعر'}' ;

# استدعاء طريقة الكائن
$proObj- > Calculator_price ( ) ;

انتاج:

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي:

  p2

مثال 3: استخدام الفصل عن طريق إنشاء وحدة نمطية

في هذا المثال، يتم إنشاء وحدة Perl المعرفة من قبل المستخدم في ملف منفصل يسمى 'CalPower.pm' حيث يتم استخدام وظيفة 'bless'. قم بإنشاء هذا الملف باستخدام البرنامج النصي Perl التالي. هذه الوحدة تحسب 'x'. ن ' حيث يتم توفير قيم 'x' و'n' من البرنامج النصي Perl حيث يتم استيراد هذه الوحدة.

#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;

# تحديد اسم الحزمة
حزمة كالباور ;

#تعريف المنشئ
تحت الحرف الأول
{
اسم فئة $ الخاص بي = يحول ;
بلدي $فار =
{
رقم => يحول ,
قوة => يحول
} ;

بارك $var , $className ;
يعود $فار ;

}

# تحديد طريقة حساب قيمة الطاقة
حساب فرعي
{
بلدي $فار = يحول ;
نتيجة $ الخاصة بي = $فار- > { 'رقم' } ;
ل ( بلدي $ ط = 1 ; $i < $فار- > { 'قوة' } ; $ط++ )
{
نتيجة $ = $فار- > { 'رقم' } * نتيجة $ ;
}
يعود نتيجة $ ;

}

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي حيث يتم استيراد وحدة 'CalPower' لحساب الطاقة بناءً على قيمة الإدخال المأخوذة من المستخدم.

#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;
استخدم كالباور ;

# خذ القيمة الأساسية
مطبعة 'أدخل قيمة x:' ;
أقضم بصوت عالي ( بلدي $س = <> ) ;
#خذ وادي القوة
مطبعة 'أدخل قيمة n:' ;
أقضم بصوت عالي ( بلدي $ ن = <> ) ;

#إنشاء كائن من الفئة
بلدي $Obj = إنيت كالباور ( , $ ن ) ;

# اطبع قيمة الطاقة المحسوبة
مطبعة '$x إلى القوة $n هو' ;
قل $Obj- > احسب ( ) ;

انتاج:

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي:

  p3

خاتمة

يتم عرض استخدامات وظيفة 'bless' في Perl في هذا البرنامج التعليمي عن طريق إنشاء حزمة في نفس ملف Perl وإنشاء وحدة نمطية في ملف مختلف.