تركيب السلوكيات

تتشابه السلوكيات مع الدوال، حيث يتم الإعلان عنها باستخدام الكلمة المفتاحية الدالة متبوعة باسمها ، ويمكن أن تحتوي على المنطلقات وقيمة إرجاع ، وتحتوي على بعض التعليمات البرمجية التي يتم تشغيلها عند استدعائها من مكان آخر. ومع ذلك ، تختلف السلوكيات عن الدوال حيث يتم تعريفها في سياق شيء أو نوع ما.

تعريف السلوكيات

دعونا نغير خوارزميتنا لحساب المساحة ، فنكتب سلوكية مرتبطة بمستطيل ، كما هو موضح في الصفرة 5-13.

                                            


    
الدالة   (م   مستطيل) مساحة() صحيح  {
    
        ارجع م.طوله × م.عرضه 
        
    }																				

    النوع  مستطيل شيء {
       طوله صحيح 	
       عرضه صحيح 			
            }؛


    الدالة  الاصل() {

        المتغير  م مستطيل := {10، 5}	؛	
        
        شاشة::اكتب("مساحة المستطيل : ")
        شاشة::اكتب(   م.مساحة()  )
        
    }				
                                                                                

لاحظ من الوهلة الأولى أننا نستدعي تعريف النوع مستطيل وليس المتغير مستطيل وذلك باستعمال الكلمة المفتاحية نوع. وهكذا تمكنا من تعريف نوع جديد يمكن تعريف متغيرات من صنفه.

                                                                                                                

    نوع مستطيل شيء {
       طوله صحيح 	
       عرضه صحيح 			
            }؛
       
                
                                                                                

وقمنا ايضا بربط الدالة التي تحسب المساحة بالنوع مستطيل بوضع متغير هذا النوع م بين قوسين قبل اسم الدالة. ولحساب المساحة تم استعمال خصائص هذا المتغير م.

                                            

    الدالة   (م   مستطيل) مساحة() صحيح  {...
                                                            
                
                                                                                

ولحساب مساحة المستطيل نقول باستدعاء الدالة المرتبطة به (السلوك) كأنها خاصية من خصائه عن طريق استعمال العامل ..

                                            
 م.مساحة() 			   
                
                                                                                

ملحوظة: ربط السلوكية لا يقتصر على نوع 'شيء' ؛ إذ يمكن ربط السلوكيات بأي نوع متاح في الخورارزم أو معرف من المطور.