الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في Valdition

بدأه الذ11بح في 9 مارس 2008 · 6 رد · 874 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

جايب سؤال ثاني بحثت ومالقيت اجابة كويسة

لما اسوي فالديشن وين اسويها افضل جوات اجراء الست او اجراء المين

جبت كلمة اجراء من موضوع توحيد المصطلحات للاخت رغد

طبعا سؤالي واضح فوق لكن ابي الافضل ممكن اسويها في الاثنين لكن وين الافضل واللي راح تحمي لي الداتا حقتي وياليت يكون الشرح واضح علشان افهمها كويس

تحياااااااااااتي11

يارب التأهل ياكريم

#2

اف شباب معقولة خمسة عشر مرور ولا حتى رد سؤالي مو واضح ولا ايش الفالديشن وين الافضل اني اسويها جوات داة الست في الكلاس او جوات المين بحيث اني اقدر احافظ على الدات حقتي بس اذا احد مر ولا سجل مرور او رد ابزعل منه

تحياااااااااااتي11

يارب التأهل ياكريم

#3

من أهم فوائد set هو السيطرة على المدخلات، وليس مجرد إجراء لوضع القيمة داخل متغير... شخصيا، أضع الشرط داخل الـ set، أصلا مبدئيا يجب ألا يتدخل الإجراء main أو أي إجراء خارجي ببيانات الصنف الداخلية... يتم الوصول للبيانات الداخلية عن طريق الإجراءات العامّة، أو الـ set. والـ get

من الناحيةالعملية تستطيع جعل جميع بيانات الصنف عامّة، لكن هل هذا صحيح منطقيّا؟، إذن : " البيانات يجب ان نحاول قدر الإمكان جعلها خاصة private والدوال فقط ما نحتاجه للتعامل مع الصنف نجعله عام (ويمكن تسميته واجهة الصنف)

من هنا واضح انه يجب أن تفحص المتغير من داخل الصنف ولا تسمح "لأحد" بفحصه من خارج الصنف... قراءة قيمته أيضا من خارج الصنف تتم بإجراء آخر get

كلامي السابق توصيات لا قوانين!

وهذا رأيي الشخصي وأسلوب عملي الخاص يمكن يختلف مع اي شخص.

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 9 مارس 2008 في 17:11

#4

نرحب بأخوي الذابح الذي يعمل في احدى الشركات المتخصصة بالبرمجيات , :D

هل تذكر عندما تعرفت عليك في منتدى " شغل مخك ؟ " , عندها اتذكر عندما قمت انت بكتابة صنف يمثل لنا التوقيت العسكري والتوقيت المعياري , او التوقيت بنظام 24 والتوقيت بنظام 12 ساعه , اتذكر انك وقتها قمت بخطأ فادح , عندها عرفت المتغيرات x,y,zوالتي تمثل لنا الساعه والدقيقة والثانية على انها public وقمت انا بكتابة مشروع طويل عريض واستخدمت الصنف الذي قمت انت بكتابته , هل تذكر الخطأ الذي كان يخرج لي كل مرة بسبب احد الدوال الغبية التي كتبتها انا والتي كانت تتعامل مع متغيرات الصنف x,y,z ؟

اتذكر ان احد الاعضاء ايضا واسمه "زيد " قد اشتكى من ان الوقت لا يخرج له بالشكل الصحيح وقمت انت باكتشاف الخطأ بانه قام بأعطاء القيمة للمتغير x وقام احد الاسطر بالتعديل عليها , وايضا الاخ " عبيد" الذي كان يدخل قيمة بالسالب للساعات ,

مازلت إلى الان اتذكر الحركة الرائعه التي قمت بها عندما عدلت الصنف وصممت دالة اسمها set تأخذ القيم من اي مكان بالبرنامج وتعطيها للصنف وتختبرها اذا كانت ملائمه او لا وعرفت المتغيرات x,y,z من نوع private , عندها تخلصنا من مشاكلنا جميعا فكأنك من خلال هذه الدالة والتصريح عن المتغيرات بانها خاصة منعتنا من الاخطاء التي تحدث لنا بسبب التخبط الذي نقوم به ببرامجنا .

__________________________________________________________________________

خليني اتفلسف شوي , :D

لاحظ اخي بأنه يجب ضبط عملية الوصول إلى المتغيرات الخاصة بشكل جيد بواسطة دوال الوصول (Access Function) على سبيل المثال : للسماح للزبائن بقراءة قيمة من المعطيات الخاصة نقوم بكتابة الدالة من النوعget المناسب للقيام بذلك. وللسماح للزبائن بتعديل قيمة من المتغيرات الخاصة , يجب كتابة دالة set المناسبة لتنفيذ مثل هذه العملية ,يمكن تزويد الدالة set بقدرات التحقق الملائمة للتأكد من ان القيم المدخلة هي قيم مناسبة لطبيعة المتغيرات الخاصة التي نتعامل معها ,

يفيد تعريف دوال set & get للاصناف في حجب النصوص البرمجية للدوال المتعلقة بالصنف عن الزبائن مما يقلل من احتمال ظهور اخطاء او عيوب برمجيه ويزيد من القدرة على تعديل البرنامج وتطويره .

وشكرا

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#5

هلا اخوي time1

اتمنى تقرا رسالتي لك...............................!

ثانيا شكرا لتفاعلك مع السؤال لكن انت ماجاوبتني الفالديشن اللي بمثابة التشييك على القيم وين الافضل اسويه داخل الست او داخل المين

وليش ابي تبرير يقنعني بالافضلية بوضعها بهالمكان

طبعا تحافظ لي على الدات اللي داخل الكلاس

تحياااااااااااتي11

يارب التأهل ياكريم

#6

شكراااا جزيلا اخوي على الاجابة يعني برايك ان اعمل الفالديشن داخل اجراء ال set

لكن اللي فهمته اني اعرف المتغيرات ك privat

لكن احيانا احتاج لمتغيرات داخل اجراء ال set

بدون مااعرفها داخل ال privat

كيف احافظ عليها واقدر اغير المتغيرات بدون ماتفقد شي من خصوصيتها ياليت توضح لي

تحياااااااااااتي11

يارب التأهل ياكريم

#7

اهلين اخوي الذابح ,

اول شي انا قرأت رسائلك الي جتني , واشكرك

بالنسبة لأسألتك

اقتباس
شكراااا جزيلا اخوي على الاجابة يعني برايك ان اعمل الفالديشن داخل اجراء ال set

in so force :D

اقتباس
لكن احيانا احتاج لمتغيرات داخل اجراء ال set

بدون مااعرفها داخل ال privat

كيف احافظ عليها واقدر اغير المتغيرات بدون ماتفقد شي من خصوصيتها ياليت توضح لي .

طيب ,ممكن تعطيني مثال بسيط لاجراء يوضح قصدك ؟

شكرا

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

مواضيع مشابهة