أخواني ما هي الـOOP وما هي مميزاتها و ليه الVB6 مش OOP يعني بتعمل أيه مش بيعمله الVB6
رب اني لما أنزلت إلي من خير فقير
أخواني ما هي الـOOP وما هي مميزاتها و ليه الVB6 مش OOP يعني بتعمل أيه مش بيعمله الVB6
رب اني لما أنزلت إلي من خير فقير
هذا موضوع كبيييييير جدا وسأقدم أول معلومة فيه ويمكن لو كل واحد في المنتدى قدم معلومه يمكن الموضوع يتغطي أولا OOP تعني Object Oriented Programming وتعني البرمجة كائنتية التوجه أو ببساطة واترك الترجمة الحرفيه هو أسلوب في البرمجة يعتمد على أن يكون كل ما تستخدمه في البرمجة يكون عبارة عن كائن له خواصه المختلفه وإمكانياته المختلفه.
وثانيا VB6 هو OOP (رغم كل من سينقدون هذا الكلام)
آسف على هذا القدر البسيط جدا لضيق الوقت.
الفرقة هي مرض الأمة الإسلامية
Do it with visual basic
اللهم اجعل كل كلمة أكتبها خالصة لوجهك وانفع بها المسلمين.
بسم الله الرحمن الرحيم
إنَّ OOP أو (البرمجة الشيئية) لها عدة معاني.
يمكن تفسيرها بالسطور التالية:
تعتبر OOP برمجة كائنية موجَّهة إلى الكائنات في لغة البرمجة والكائنات هي مجموعة من الأوامر الخارجية المترابطة مع بعضها البعض (حتى الأدوات منها)لتشكل برنامج ذات قوة ومتانة.
ففي فيجوال بيسك كل شيء يبدو وكأنه كائن (بل في كل لغات البرمجة) فصندوق الأدوات ToolBox فيه الكثير من الأدوات نظير زر الأمر وصندوق النص ويمكن التعبير عن هذه الأدوات بالكائنات.
ولكن الجزء الرئيسي للكائنات يأتي من الفئات Class حيث الفئة هي المسؤولة عن أفعال الكائنات إذ أنها تشير إلى تعاريف خارجية.
بالنسبة إلى الأخ عماد فتحي فهو قال:
اقتباسوثانيا VB6 هو OOP (رغم كل من سينقدون هذا الكلام)
أقول لك يا أخي:
فيجوال بيسك ليست لغة كائنية كاملة لافتقارها لكثير من مزايا البرمجة الكائنية. كالوراثة وغيرها... ولكن VB.NET يمكن أن تكون كائنية.
والسلام
الأخ Basrah
كنت أنتظر هذا الإعتراض بالذات الذي قلته الفيجوال بيسك لا يدعم الوراثة وأنا أقول الفيجوال بيسك لا يدعم الوراثة بالطريقة المعروفة في لغات البرمجة مثل C من بداياتها ولكنه يدعم ما يسمي implementing inheritance وهو نوع من الوارثة يعتمد على البرمجة باستخدم الواجهات Interface Based Programming وهو نوع أكثر تطورا من الواثة التقليدية (الشكل القديم).
الفرقة هي مرض الأمة الإسلامية
Do it with visual basic
اللهم اجعل كل كلمة أكتبها خالصة لوجهك وانفع بها المسلمين.
بسم الله الرحمن الرحيم
الأخ: عماد فتحي.
السلام عليكم ورحمة الله وبركاته.
إنَّ الأخ Ahmedrafat أراد أن يعرف ما هي OOP وكذلك أراد أن يعرف لماذا VB ليست OOP ((حيقيقية))؟
ولكننا دخلنا في مواضيع لا علاقة لها بسؤاله فدخلنا في صراع بين VB هل هو OOP ((حقيقي)) أم لا؟
أخي العزيز:
إنَّ الفيجوال بيسك لا يدعم الكثير من مزايا البرمجة الشيئية (صحيح أنه يعمل في بعض الأحيان أفضل من لغات البرمجة الشيئية الحقيقية) ومن جملة هذه الإيرادات هو ضعف التعامل مع الفئات Class وكذلك ضعف التعامل مع الكثير من المكوِّنات COM (والتي يمكن أن تدخل في ضمن إطار OOP). فهل بإمكانك قياس Delphi مع Visual Basic؟ فالأولى لغة كائنية متكاملة + حقيقية أما الثانية فتفتقر لبعض مزايا الكائنات.
أما بالنسبة للواجهات فأنا أخالفك في هذا الموضوع كثيراً.
ففيجوال بيسك لا يدعم الوراثة والواجهات مستثناة من الوراثة! قد تكون لديها أعمال مشابهة للوراثة إلا أنها ليست (بوراثة).
وكما ذكرت فهناك إيرادات عظيمة في فيجوال بيسك تجعله لغة سطحيَّة لا تقابل اللغات الأكثر تطوّراً نظير Delphi وغيرها من اللغات. فـ(COM) من جملة هذه الإيرادات.
(f) والسلام عليكم ورحمة الله وبركاته (f)
بسم الله الرحمن الرحيم
أخي Basrah
الأخ Ahmedrafat سمع أن فيجوال بيسك ليست OOP وأراد أن يتحقق من هذا لذا فمناقشتنا هذه في صميم الموضوع.
هناك مبادي أساسية لابد من أن يقوم عليها النقاش في هذا الموضوع وإلا فالموضوع لأ أساس له وهي
* لا يوجد ما يطلق عليه أفضل لغة برمجة على الإطلاق، (هل توافقني في هذا ؟).
* أنا لا أقول أن الفيجوال بيسك أفضل لغة أو لغة كاملة وكذلك كل لغة بها من المميزات والعيوب وهذه طبيعة صنعة البشر، (هل توافقني؟).
* لا بد أن نكون محددين في كلامنا إلى أقصى درجة لأننا نتناقش في مسألة علمية دقيقة.
أخي تقول "إنَّ الفيجوال بيسك لا يدعم الكثير من مزايا البرمجة الشيئية" وأنا أقول لك ما هي مبادي البرمجة الشيئة ؟ وما الذي لا يدعمه منها الفيجوال بيسك ؟ هذا سؤال.
مع احترامي لك قلت "ضعف التعامل مع الفئات Class وكذلك ضعف التعامل مع الكثير من المكوِّنات COM" أرجوا أن تكون محددا في كلامك أكثر وضح شكل الضعف الذي تقصده وكيف أن الفيجوال بيسك يعاني من الضعف في التعامل مع COM !!!
بالنسبة للواجهات، الفيجوال بيسك يدعم الواجهات بشكل جيد وفكرة أو مصطلح"Implementing Inheritance" أنا لم أخترعها وإنما هي موجوده بالفعل في عالم فيجوال بيسك وهي وراثة حقيقية إلا أنها وراثة بطريقة غير الطريقة القديمة ألانها لا تتطابق الوراثة القديمة فلا تكون وراثة ؟!
فلماذا تقول "أما بالنسبة للواجهات فأنا أخالفك في هذا الموضوع كثيراً. ففيجوال بيسك لا يدعم الوراثة والواجهات مستثناة من الوراثة!" كيف بالله عليك.
الفرقة هي مرض الأمة الإسلامية
Do it with visual basic
اللهم اجعل كل كلمة أكتبها خالصة لوجهك وانفع بها المسلمين.
بسم الله الرحمن الرحيم
الأخ الكريم: عماد فتحي السلام عليكم ورحمة الله وبركاته.
أوافقك على ما ذكرته من أنَّ هذا الموضوع موضوع علمي وأجيب على أسألتك بالتالي:
1. أخالفك في هذه النقطة نعم هناك لغة يطلق عليها اسم أفضل لغة برمجة على الإطلاق من غير منافس ألا وهي لغة ++C الحبيبة!!
2. نعم أوافقك.
3. نعم أوافقك.
أخي الكريم أرجو منك الالتفات إلى هذه النقطة:
أنا لا أقول أنَّ VB ليست كائنية على الإطلاق! بلا أقول أنها ليست لغة كائنية حقيقيَّة هذا ما أقوله. وأسألك سؤال يا أخي: هل تجعل لغة ++C مع لغة VB على حدٍّ سواء؟!! وتقول بأنَّ كِلا اللغتين لغات كائنية؟!!أرجو منك أن تجيب على هذا السؤال.
أنا لا أدخل أكثر في الموضوع فأبسط مبرمج VB يعلم هذه الأمور ولا أعلم أأنت لا تعرفها؟؟؟!!!!
بالنسبة إلى COM نعم فاسأل أبسط مبرمج VB سيجيب على أنَّ VB غير قويَّة في COM وأبسط ما يمكن قوله هو ضعف التعامل مع ActiveX وكذلك لا يمكن إنشاء ملف ربط حيوي Dll وActiceX DLL مستثنى من هذا كما تعلم.
بالنسبة إلى ضعف التعامل مع ActiveX فأشرحه وهو:
عند عمل أداة كـ ocx بالفيجوال بيسك يجب إرفاق ملف msvbvm....dll مع الكائن والكل يعلم بأن حجم ocx قليل فكيف وأنت ترفق ملف بحجم 1.5 ميغا بايت!!!!!!! وهذا ضعف كبير.
بالنسبة إلى Class فلا أجيب عليه لأنَّ الكل يعرفون ضعف التعامل معه وأنت إن كنت مبرمج VB فستعرفها أفضل منِّي. إن أردت فلا بأس فسأجيب.
فيجوال بيسك يا أخي ليست لغة كائنية وهذه ليس ما أقوله أنا فحسب بل كل مبرمجي VB.
VB لديها الكثير من ضعف التعامل حيث لا يعدُّ ولا يحصى والمؤشرات Pointers تدخل أيضاً مع الضعف فهي ليست كمؤشرات Delphi أو #C وإن كانت اللغة الأخيرة أفضل.
أما بالنسبة إلى الواجهات فقد قلت بأنَّ الواجهات مستثناة عن الوراثة وأنت تعلم أفضل منِّي.
والسلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
الأخ "Basrah"
قلت " نعم هناك لغة يطلق عليها اسم أفضل لغة برمجة على الإطلاق من غير منافس ألا وهي لغة ++C الحبيبة!!" اسمح لى لا يوجد ما يطلق عليه أفضل لغة برمجة لأن الأفضلية هذه مسألة نسبية وهي تتوقف على تلبية لغة البرمجة للأهداف التي يستخدمها المبرمج من أجلها ، ولغات البرمجة تتفاوت في الإمكانيات وفي مواطن الضعف ومواطن القوة فيمكن للغة ما أن تكون أفضل من أخرى في مجال مثل قواعد البيانات ويمكن لتلك لأخرى أن تكون أفضل من الأولى في التعامل مع العتاد مثلا ويمكن لثالثة أن تكون أفضل من الجميع في مجال كذا وربما كان مستواها في مجال معين آخر صفر وهكذا مسألة الأفضلية هذه نسبية وتعتمد على تلبية حاجات المبرمج وإمكانية أن تكون اللغة قوية في مجالات معينه وضعيفة في أخرى وهذا هو شأن أي لغة بلا إستثناء فالأفضلية على الإطلاق غير موجودة.
لاحظت أنك وصف لغة C++ بالحبيبة وأنا ألفت نظرك لشئ أنا غفلت أن أكتب نفس اللفظة عند الحديث عن فيجوال بيسك ، ما أريد أن أحذر منه أن ننجرف إلى نقاش متعصب لأنه لن يؤدي إلى شئ والتعصب ليس من العقل فيمكن لنتعصب أن يحاول أن يقنعك أن برنامج NotePad أفضل من Word ويستمر يناقشك إلى آخر الزمن ما دام التعصب موجود.
بالنسبة للفيجوال بيسك أنا أبدا في كلامي لم أذكر أو أقول أنه أفضل من لغة كذا أو أقل من لغة كذا فكما ذكرت لك كل لغة لها من القوة والضعف نصيب. لكن ما أردت توضيحة بإختصار أن فيجوال بيسك لغة كائنية.
أخير OOP لها مبادي معنية ترتكز عليها وما دامت اللغة تدعمها فهي OOP لكن ربما اختلفت طريقة تطبيق تلك المبادي من لغة إلى أخرى لكن مادامت تحقق المبادي فهي OOP وطريقة التطبيق قد تختلف في السهولة أو الصعوبه أو السرعة أو البطي أو بأي شكل آخر ولكن في النهاية كل مبرمج يتعود ويتأقلم مع لغته ويستطيع استغلالها بأفضل شكل ممكن ولكن كما قلت لك مع إختلاف شكل التطبيق وطريقتة فإن اللغة مادامت تحقق مبدي OOP فإنها OOP. (إذا كنت ماتزال غير مقتنع أرجو أن توضح مبادي OOP التي لا يدعهما فيجوال بيسك).
تحدثت عن نقطة ضعف ضرورة إرفاق ملف "msvbvm....dll" مع البرنامج وهذا اعتراض في غير محله وسأثبت لك بما أنك قريب من C أرجوا أن تحدثنا عن الملف "msvcrt.dll" و "msvcrt40.dll" وغيره و وضروة تواجده وتوافق إصدارة مع البرنامج الذي توزعه ولا تقل لي أنه يوزع مع نظام التشغيل لأني سأقول لك مكتبة الفيجوال بيسك توزع أيضا.
هذه الأولى أما الأخرى فإن لغات .Net جميعا لا يلزمها ملفات تشغيل بحجم 1.5 ميجا فقط بل 20 ميجا لتعمل ولغات .Net OOP بالدرجة الأولى فلا تعتبر مسألة إرفاق ملف مع البرنامج أو بمعنى أصح تنزيلة على الكمبيوتر مره واحدة فقط في عمر الويندوز نقطة ضف.
الفرقة هي مرض الأمة الإسلامية
Do it with visual basic
اللهم اجعل كل كلمة أكتبها خالصة لوجهك وانفع بها المسلمين.
السلام عليكم أخواني ، و شكراً علي أهتمامكم بالرد
و لكن بما أننا نتحدث عن لغات البرمجة فيجب أن يكون النقاش بشكل علمي مجرد.
طب أزاي؟؟
يعني الأول نحدد ما هي الـOOP
و بعدين نقول أيه هي الخواص المطلوب توافرها في لغة البرمجة لتصبح OOP
(متهيألي همة 9 خواص - علي حسب ما سمعت )
و بعدين نشوف مدي توافر كل من تلك الخصائص في الVB6
و جزاكم الله عني خير الجزاء
{رَبِّ إِنِّي لِمَا أَنزَلْتَ إِلَيَّ مِنْ خَيْرٍ فَقِيرٌ}
السلام عليكم OOP البرمجه كائنية التوجه تقدم للمبرمج ادوات للتعبير عن اجزاء المساله في نفس حدود المساله بدلا من لغة الكمبيوتر مباشره هذه الاجزاء من المساله تسمى Opject ,و ال Opject هي instance او مثال للكلاس
opjects لكي تعمل مايريد المبرمج يجب ان تملك Methods التي ترسل اوامر لل Opject
مميزات OOP
* Opjects هي متغيرات تخزن فيها data كذلك تستقبل اوامر لتنفيذ عمليات
*البرنامج بحوي مجموعه من ال opjects التي تحتوي Methods التي تنفذ الاوامر
*Opjects هي احداث للكلاس class الذي تميزه ال methods او العمليات التي يستطيع تنفيذها
*Opjects من نفس النوع يمكن ان تتقبل نفس العمليات
========
Opjects لها حاله تمثلها ال داتا , تصرف من خلال ال methods
و معرف وهو الذي يميزها عن بقية Opjects
=======
VB تعتبر oop
مع تحياتي لكم
:eek:ما رايكم ان نناقش ال oop من الاول و نتعرض لل ال clases وكيفية عملها فانا ارى ان بعض الاعضاء سالون عنها كما اننا لا نستطيع إنشاء dll او ocx او addins بدون فهم كامل للفئات كذلك التعامل مع vb.net
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
بسم الله الرحمن الرحيم
والحمد لله ربِّ العالمين...
الأخ العزيز: (عماد فتحي) وفقك الله ورعاك السلام عليكم ورحمة الله وبركاته.
أنا ذكرت أنَّ C أفضل لغة في العالم على الإطلاق لعدَّة ملاحظات يمكن التطرَّق إليها:
1. لغة تعمل على جميع أنظمة التشغيل OS.
2. لغة سريعة جداً في التطبيقات.
3. لغة عالية غالباً ما تستخدم في بناء أنظمة التشغيل والجدير بالذكر هو أنَّ نظام النوافذ تم إنشاء النصف الأكبر منه بهذه اللغة العريقة.
والميزات الأولى خير دليل على تصدَّر لغة C ((أفضل لغة كائنية في العالم)). وهذا القول لا أقوله من جيبي بل تم اختيار اللغات الثالثة بالترتيب:
1. C.
2. JAVA.
3. Delphi.
وخير دليل على أنَّ سي تصدَّرت اللغات الكائنية!!! وهذا ما هو معروف!!!! وأنا قلت لغة سي أفضل لغة كوناً لوجود المميزات الثلاث والأكثر قد تكون!!
أما بالنسبة للـ Visua Basic فقد عشقتها من بدايتي في البرمجة قبل عِدَّة سنوات وإلى الآن استعملها لبناء تطبيقاتي المحترفة وأعشقها من دون باقي اللغات حتى من سي فهي لغة حبَّها منحوت في قلبي إلى الأبد! وأنا بالعكس أحبَّها وأذكر مميزاتها ولكن إن صادفني ضعف في هذه اللغة فأذكره مقرَّاً به مهما كان.
بالنسبة للحبيبة فإذا كانت سي حبيبة عندي ففيجوال بيسك عشيقتي!!
بالنسبة إلى ملفات "msvcrt.dll" و "msvcrt40.dll" فأعتقد أنه معاك حقّ ولكن هذه شريطة في نوع آخر من البرامج وليس كل البرامج أما ملف msvbvm...dll فهو مشروط بأي برنامج كان!!!!!!!
بالنسبة إلى NET. فالأفضل أن تطلق اسم NOT. بدلاً من نيت!!!!!
وأثبت لك التسمية الثانية إن أردت فهي جاءت من باب الحقد من دلفي!!!!! إن كنت تستهجن هذه العبارات فأثبتها لك..
والسلام عليكم ورحمة الله وبركاته
هذا الموضوع مغلق.