• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 11 من 11

    الموضوع: [مقال]ماهي البرمجة باستخدام الكائنات ؟

    1. #1
      التسجيل
      27-11-2002
      الدولة
      Demon * World
      المشاركات
      300
      المواضيع
      60
      شكر / اعجاب مشاركة

      [مقال]ماهي البرمجة باستخدام الكائنات ؟

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


      في هذه الأيام الكثير من اللغات تدعم البرمجة باستخدام الكائنات Object-Oriented Programming ، مثل
      ++C
      Java
      JavaScript
      #C
      VB.NET
      Python
      Ruby
      PHP
      Objective-C

      تبدأ جذور البرمجة الكائنية من بداية لغة الـ Simula في عام 1960 ، عندما بدأت شركات هندسة البرامج بمناقشة أمر سموه "فوضا البرامج" ، عندنا كانت البرامج تزداد بشكل مذهل و كان الكود يكبر و يكبر ، سألو أنفسهم "كيف يتم صيانة البرنامج ؟"

      ففعلا هالسؤال محير ، تخيل انك انت مع 20 مبرمج كتبتو برنامج لشركة كبرى و كود البرنامج 20000 ألف سطر ، اشلون تسوون صيانة للبرنامج ؟؟

      من هنا ظهرت البرمجة الكائنية ، حيث ان البرنامج يجمن كائنات مفصولة عن بعضها ليشكل برنامج واحد كامل من كائنات تتفاعل مع بعضها و لكن أكوادها مفصولة تماما عن بعضها

      فالبرمجة الكائنية تجعل الكود مرتب جدا مثل ما قمت ، و تجعلها اوظح و اسهل لإعادة الصيانة ، و زيادة على ذلك ، يمكن استخدام كائنات هذا البرنامج لبرنامج آخر

      و هذي عناصر البرمجة الكائنية :
      1-Class : و اهو تماما مثل خريطة البيت قبل لا ينبني ، يحتوي على كل مميزات الكائن اللي راح يستخدمه المبرمج
      2-Object : بعد ما تخلص من كتابة الـ Class ، تسوي الكائن مبني على الـ Class. الـ Class كأنه اهو المخطط للبيت ، و الـ Object اهو البيت نفسه
      3-Methods : او حتى يسمونه Class Function ، و اهو مثل اي دالة (function) تكتبها للبرنامج ، لكن هذي الدالة تستحدم للتعامل مع بيانات الـ Class
      4- Inheritance : و اهو التوارث ، هذي الميزة تمكنك من إنشاء Class مبني على Class آخر. مثلا ، إذا انت كنت مسوي Class يحتوي على خصائص سفينة فظائية ، تقدر تسوي كلاس اسمه Fighter و Defender ، و هذول الكلاسات يسمونهم child class او sub class.
      5- Polymorphism : (تعدد الأشكال) و اهو يعطي نتائج مختلفة على حسب عمل البرنامج



      و هذا مثال انا سويته بالـ ++C للبرمجة باستخدام الكائنات :
      كود:
      #include <iostream>
      #include <string>
      #include <conio.h>
      
      using namespace std;
      
      class Bow
      {
            //Beginning private section
            private:
            //Data members
            string color;
            bool drawn;
            int numOfArrows;
            
           
            //Beginning public section
            public:
            //Methods
            void draw();
            int fire();
             Bow(string aColor); //Constructor
            ~Bow(); //Destructor
      };
      
      Bow::Bow(string aColor) 
      {
                      aColor = color;
      }
      
      Bow::~Bow()
      {
                 //Nothing to clean up
      }
      
      void Bow::draw()
      {
           drawn = true;
           cout << "The " << color << " has been now drawn." << endl;
      }
      
      int Bow::fire()
      {
           if (!drawn)
           {
           cout << color << " has not been drawn "
                << "and therefore you cannot fire." << endl;
                
           return 0;
           }
           
           int score;
           score = rand() % (10-0+1) +0;
           
           if (score == 0)
           cout << color << " missed the target!!!" << endl;
           else
           cout << color << " scored " << score
                << " points!!!" << endl;
                
           return score;
      }
      
      //Main function
      int main()
      {
            //Creating object derived from Bow class
            Bow b1("red");  
      
          
          getch();
          return 0;
      }

      و السلام عليكم و رحمة الله و بركاته
      www.nightvisiongames.com
      المشروع الحالي (غير معلن عنه) : N-1
      نوع اللعبة : RTS (إستراتيجية)
      لغة اللعبة : English + عربي (احتمال كبير)
      فريق العمل :
      حسين هاني (أنا) : مبرمج
      المهندس وائل : مبرمج
      فراس الإسكندراني : تصميم و إدارة
      Snake_x86 : المصمم القائد لرسوم الـ 3D

      إذا تبي تدخل معانا ، ادخل منتدانا الإنظمام من هذي الوصلة :
      http://nightvisiongames.com/communit...hp?showforum=4

      و شوف الموضوع المثبت

    2. #2
      التسجيل
      22-07-2005
      الدولة
      مصر -أرض الكنانه-
      المشاركات
      208
      المواضيع
      12
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      السلام عليكم ورحمة الله وبركاته

      - شكراً جزيلاً اخي GOGENDANTESS علي هذه المقاله الرائعة ، وفعلاً البرمجة الكائنية هامة جداً وتسهل كثيراً من عملية التعديل والتطوير والصيانه -كما قلت- وهي هامه جداً في عملنا - تصميم الألعاب - لأن اللعبة هي عبارة عن كائنات .
      - وأنت تذكرني بكتاب " نحو برمجة كائنية التوجه " في الفيجوال بيزك لمبدع الفيجوال بيزك الأستاذ تركي العسيري .... وأحب بهذه المناسبة أضع رابط الكتاب :
      http://www.khayma.com/stareast/books/book4/VBbook.zip

      وشكراً.
      (AFE)

    3. #3
      التسجيل
      19-03-2005
      الدولة
      العين
      المشاركات
      1,261
      المواضيع
      29
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      تسلم على المقال
      مستقبل البرمجة سيكون عباره عن كائنات وهذه الطريقة تسهل علينا فهم الكود
      وبما اني مبرمج بالجافا فأعتبر الكائنات(oop)هي روح هذه اللغة
      ---
      أما بالنسبة للألعاب فالكائنات تكاد تكون شي أساسي والقيم ميكر أوضح مثال

      عندي سؤال ع الكود (( أنا ضعيف في سي++ ولكني قوي فالجافا ))
      في Constructor
      المفروض نكتب
      aColor=color
      أو
      color=aColor
      ؟؟؟
      وتسلم AFE ع الكتاب
      وبالتوفيق
      ليس العيب أن تقع العيب أن تضل على الأرض ولا تقف مجددًا
      I was GameMakerer, may back...I'M BACK o..o

      دردشها دردش دردشها

      ~.~

    4. #4
      التسجيل
      27-11-2002
      الدولة
      Demon * World
      المشاركات
      300
      المواضيع
      60
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      مشكور اخوي الكفراوي على ردك

      =============
      من التراب :
      بالفعل فالألعاب كلها كائنات برمجية فمثلا المدينة اهي كائن ، الصندوق اللي فيه الذهب اهو كائن .... إلخ

      اما عن سؤالك ، فأنت الصحيح ، كان في غلط في الكود ما عليش ، فلما تعين فيمة للـ data member ، الـ data memeber يأخذ الأولولية في التعريف

      سوري على الغلط لكن مع هذا الكود قابل للـ compilation بس هالحالة نسميه buggy class بالعربية الفصحى :
      مخطط ذو ثغرة
      www.nightvisiongames.com
      المشروع الحالي (غير معلن عنه) : N-1
      نوع اللعبة : RTS (إستراتيجية)
      لغة اللعبة : English + عربي (احتمال كبير)
      فريق العمل :
      حسين هاني (أنا) : مبرمج
      المهندس وائل : مبرمج
      فراس الإسكندراني : تصميم و إدارة
      Snake_x86 : المصمم القائد لرسوم الـ 3D

      إذا تبي تدخل معانا ، ادخل منتدانا الإنظمام من هذي الوصلة :
      http://nightvisiongames.com/communit...hp?showforum=4

      و شوف الموضوع المثبت

    5. #5
      التسجيل
      27-11-2002
      الدولة
      Demon * World
      المشاركات
      300
      المواضيع
      60
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      لتحاشي هذي المشكلة الـ ++C توفر طريقة احسن بوايد تسمى طريقة اللستات
      مثل هذي :
      كود:
      //Constructor 
      Bow(string aColor): color/* << this is data member*/(aColor) {}

      www.nightvisiongames.com
      المشروع الحالي (غير معلن عنه) : N-1
      نوع اللعبة : RTS (إستراتيجية)
      لغة اللعبة : English + عربي (احتمال كبير)
      فريق العمل :
      حسين هاني (أنا) : مبرمج
      المهندس وائل : مبرمج
      فراس الإسكندراني : تصميم و إدارة
      Snake_x86 : المصمم القائد لرسوم الـ 3D

      إذا تبي تدخل معانا ، ادخل منتدانا الإنظمام من هذي الوصلة :
      http://nightvisiongames.com/communit...hp?showforum=4

      و شوف الموضوع المثبت

    6. #6
      التسجيل
      05-11-2000
      الدولة
      arabgn.net
      المشاركات
      4,662
      المواضيع
      255
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      اخي GOGENDANTESS انا متعود من صغري على procedural programming و من زمان ابرمج صفحات الويب بهذي الطريقة لأني ما جربت ابدا ادخل على الكائنات و بصراحة من فترة سنة بدأت في عالم جديد من البرمجة اول شي بالسي شارب و تعلمت الاوامر الشرطية بشكل سريع و بعض الامور و لكن بصراحة عندما حاولت بعدها اتعمق ببيئة فيجوال ستوديو دوت نيت واجهتني المشاكل الكثيرة بسبب عدم المامي بشكل كامل بالبرمجة الكائنية التوجه و بصراحة انا لا اعرف اليأس بس اجلت الموضوع بسبب عودتي لبرمجة الويب باستخدام بي اتش بي و الاي اس بي العادية و موضوع بصراحة شجعني مجددا على الدخول في عالم الفيجوال دوت نيت مجددا و لكن كما تعلم يقولون ان الشخص الذي يتعلم برمجة الكائنات ورا اسهل من مبرمج سابق مثلي يتعلمها من جديد ... فبماذا تنصحني و لك جزيل الشكر على هذه المقالة القيمة

    7. #7
      التسجيل
      22-06-2005
      الدولة
      مصر
      المشاركات
      1,523
      المواضيع
      70
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      شكرا على المقاله الرائعة ^^.... اللى يفهم البرمجة الموجهه للكائنات و كيفيه بناء الخوارزميات يمكن يتعلم أى لغة برمجة حديثة بسهولة ^^....

    8. #8
      التسجيل
      27-11-2002
      الدولة
      Demon * World
      المشاركات
      300
      المواضيع
      60
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      challenger : البرمجة الكائنية تجعل الكود مرتب اوظح بكثييييييييييير من طريقة الـ procedural ، و فوق ذلك ، تقدر تستخدم المخططات لبرنامج ثاني



      صقر : العفو ، و البرمجة الكائنية الحين من افضل طرق البرمجة لترتيبها و سهلوتها
      www.nightvisiongames.com
      المشروع الحالي (غير معلن عنه) : N-1
      نوع اللعبة : RTS (إستراتيجية)
      لغة اللعبة : English + عربي (احتمال كبير)
      فريق العمل :
      حسين هاني (أنا) : مبرمج
      المهندس وائل : مبرمج
      فراس الإسكندراني : تصميم و إدارة
      Snake_x86 : المصمم القائد لرسوم الـ 3D

      إذا تبي تدخل معانا ، ادخل منتدانا الإنظمام من هذي الوصلة :
      http://nightvisiongames.com/communit...hp?showforum=4

      و شوف الموضوع المثبت

    9. #9
      التسجيل
      24-01-2006
      الدولة
      QATAR
      المشاركات
      4,098
      المواضيع
      246
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      لما نعامل الأوبجكت على أساس انه كائن حي راح نبدع في ذلك ^^
      انا دائما احاول أن اتعامل وأتعمق في كل اوبجكت حتى لو مبرمج او مصم في برنامج على انه كائن
      يحتاج لللتطور ^___^

      شكرا للمقالة واستفدت بها شخصيا

    10. #10
      التسجيل
      27-11-2002
      الدولة
      Demon * World
      المشاركات
      300
      المواضيع
      60
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      العفو اخوي
      www.nightvisiongames.com
      المشروع الحالي (غير معلن عنه) : N-1
      نوع اللعبة : RTS (إستراتيجية)
      لغة اللعبة : English + عربي (احتمال كبير)
      فريق العمل :
      حسين هاني (أنا) : مبرمج
      المهندس وائل : مبرمج
      فراس الإسكندراني : تصميم و إدارة
      Snake_x86 : المصمم القائد لرسوم الـ 3D

      إذا تبي تدخل معانا ، ادخل منتدانا الإنظمام من هذي الوصلة :
      http://nightvisiongames.com/communit...hp?showforum=4

      و شوف الموضوع المثبت

    11. #11
      التسجيل
      05-11-2000
      الدولة
      arabgn.net
      المشاركات
      4,662
      المواضيع
      255
      شكر / اعجاب مشاركة

      رد: [مقال]ماهي البرمجة باستخدام الكائنات ؟

      شكرا اخي مرة اخرى للتوضيح , انا مقتنع تماما انها افضل من البرمجة العادية لكنني لم استطع الدخول لهذا النوع من البرمجة بسهولة ما زلت اواجه المصاعب ,,,, انا اخبرك المشكلة ... و هي انني لما نويت ادخل هالمجال اشتريت كم كتاب عربي و للاسف بدأت في كتاب اكثر من 1000 صفحة و اول 500 صفحة كانت عن سي شارب و الحمدلله ما واجهتني مصاعب لأن المصطلحات المعربة عرفتها لأني اعرف الانكليزية بس لما بدأت في فصول البرمجة كائنة التوجه بدأت بالمصاعب لأني واجهت مصطلحات جديدة بالعربي و تعرف مشاكل التعريب و المشكلة اني خلصت نص الكتاب يعني ما اقدر ارميه و ابدأ من جديد بس يلا الله يوفقني و يوفق الجميع ببقى احاول و اجتهد و ان شاء الله بتشوفوا مني اول software based on OOP قريبا , لأني بصراحة مليت من برمجة الويب ما فيها شي interesting حسبت الاجاكس شي بيسلي بس طلعت ما فيها شي خارق !

    ضوابط المشاركة

    • لا تستطيع إضافة مواضيع جديدة
    • لا تستطيع الرد على المواضيع
    • لا تستطيع إرفاق ملفات
    • لا تستطيع تعديل مشاركاتك
    •