التميز خلال 24 ساعة

 العضو الأكثر نشاطاً هذا اليوم   الموضوع النشط هذا اليوم   المشرف المميز لهذا اليوم 
قريبا تأجير نيسان في دبي
بقلم : غير مسجل
قريبا


صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة
النتائج 13 إلى 24 من 25

الموضوع: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

  1. #13

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    مقدمه للـ OOP


    في البرمجه الكينونيه OOP ننظر للاشياء من حولنا على اساس انها كائنات objects لها صفات attributes وكذلك لها سلوك behaviors اذا اخذنا على سبيل المثال person كـ object فالشخص له صفات attributes اللي هي: الاسم* العمر* الجنسيه* المهنه*العنوان ...الخ
    الطريقه البسيطه لاستخدام الـ OOP في البرمجه هي عن طريق استخدام الStruct ومن خلال المثال التالي سيتوضح اكثر مفهوم الـ Struct ::

    struct Date{
    int day;
    int month;
    int year;
    };

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    الكود السابق بيعرف struct اسمهُ date ولهُ 3 attributes وهي اليوم والشهر والسنه
    عند تعريف struct فاننا نقوم بانشاء نوع جديد new type تماما كـ int واسم هذا النوع الجديد هو date يتكون من 3 اجزاء اليوم والشهر والسنه
    نأتي الان لاستخدام النوع الجديد اللي عرفناه احنا سابقاً::
    Void main()
    {
    Date today; ……………………………….create a new variable of type Date
    Date birthday; ………………………………create another new variable of type Date

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


    today.day=1;
    today.moth=3;
    today.year=2009;

    birthday.day=29;
    birthday.moth=6;
    birthday.year=1995;

    cout<<birthday.day<<”/”<<birthday.month<<”/”<<birthday.year<<endl;
    }


    كما هو موضح في الشكل فان المتغيرات today و birthday لها استقلاليه تماما عن بعضها اي ان لكل منهما مكانه الخاص في الذاكره الشيء الوحيد المشترك بينهما هو ان لهم نفس الاجزاء لانهما من نفس النوع Date
    يمكن تشبيه ذلك ب x و Y كمتغيرات من نوع int وان لكل منهما مساحته الخاصه بالذاكره وهي 4 bytes
    من الملاحظ من خلال المثال انه لا يمكننا الوصول لاجزاء المتغير Today و birthday في الـ main وبالتالي للوصول اليهم نستخدم (.) ونتعامل معهام كأي متغيرات عاديه من نوع int .

    وبنفس الطريقه المستخدمه في المثال بإمكاننا انشاء انواع جديده ولتكن على سبيل المثال :student

    struct student{
    int id;
    string name;
    int age;
    string address;
    };


    وبامكاننا استخدام نفس المفهوم على اي تطبيق اخر مثل الـarray ونتعامل مع الـ struct كأي data type

    لكن الطريقه المبسطه واقصد بذلك الـ struct لم تعد تستخدم بالبرمجه الا ما ندر لان وجد البديل عنها الذي يمثل الـOOP الا وهو مفهموم استخدام الـ class .
    تعريف الـ class :
    Is a collection of fixed number of components * the components of a class are called members of the class .
    Class members can be ::1. variables …….attributes
    2. functions …methods
    الـ attributes: كما ذكرنا سابقا هي صفات للـ Object
    والـ methods: هي التي تتعامل مع هذه الصفات

    الـ members of the class ثلاث انواع ::::
    1. public : نستطيع ان نتعامل مع هذه العناصر من داخل وخارج الـ class
    2. private : لا نستطيع ان نتعامل معهم خارج الـ class وانما داخلها فقط هذا يوضح مفهموم الـencapsulation والذي نقصد به ان العناصر لا نستطيع التعامل معاها بشكل مباشر خارج الـ class وانما نتعامل معها من خلال Methods والتي تمثل وسيط
    3. protected : سوف يتوضح مفهومها فيما بعد عندما نصل الا درس الوراثه inheritance و درس الـ polymorphism

    ملاحظة:
    * كل عناصر الـ class هي private by default

    سوف يتوضح مفهوم الـ class اكثر من خلال المثال البسيط التالي ::

    class test{
    private :
    int x;
    public:
    int y ;
    };

    في الكود السابق عرفنا متغيريين هما الـ x والـY وهما من نوع Int فـ الـ X هو private والـ Y هو public

    Void main()
    {
    test obj1;
    obj1.y=10 ……………..coz its public we can access it from main unlike x
    obj1.x=5………….Error coz x is private
    }



    اتمنى تكون طريقه الشرح سلسه
    واذا في اي توجيهات على الشرح احكوا لي منشان اغير طريقه الشرح
    وان شاء الله تستفيدوا
    وانتظروا الدرس القادم ان شاء الله
    ومنتظره منكم اي سؤال او استفسار
    موفقين ان شاء الله
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

  2. #14

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    للاسف حطيت صور بسيطه توضيح للشرح بس مش عارفه ليه ماظهروا ؟؟
    اذا ظاهرين الصور احكوا لي ويا ريت حد يشيك على الروابط تبعهم ويحكي لي

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    Good luck
    التعديل الأخير تم بواسطة ليلى العامريه ; 02-03-2009 الساعة 01:20 AM
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

  3. #15

    الصورة الرمزية حنــــان
    تاريخ التسجيل
    Jul 2008
    الدولة
    بين (س) وَ ( ي )
    العمر
    36
    المشاركات
    5,846
    معدل تقييم المستوى
    351

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    يسلمووووووووووووووو روووووووووعه هذي انا قرأت عنها وفهمتها ..

    والله شوقتيني لها منتظرة على أحر من الجمر واسلوبك ماشاء الله سلس ..

    متابعه وبشدة ..
    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

  4. #16

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    اقتباس المشاركة الأصلية كتبت بواسطة حنــــان مشاهدة المشاركة
    يسلمووووووووووووووو روووووووووعه هذي انا قرأت عنها وفهمتها ..

    والله شوقتيني لها منتظرة على أحر من الجمر واسلوبك ماشاء الله سلس ..

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

  5. #17

    الصورة الرمزية سامح الجنوب
    تاريخ التسجيل
    Feb 2008
    المشاركات
    13,689
    معدل تقييم المستوى
    565

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

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

    بس والله اسلوب راقي وخصوصاً المصطلحات لأننا اكره لما أشوفها بالعربي ^^

    بس لحد الآن أعتقد أننا عارف هي النقاط

    منتظر البقية
    مـــا كــل ما يتمنى المــرء يدركـــه ... تجــري الريـــاح بمــا لا تشتــهي السفــن

  6. #18

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    اقتباس المشاركة الأصلية كتبت بواسطة ســـامح مشاهدة المشاركة
    راااااااااائعة أختي إلى الآمام وأنا معاكم من بعيد << مش تخصصي نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

    بس والله اسلوب راقي وخصوصاً المصطلحات لأننا اكره لما أشوفها بالعربي ^^

    اصلا ما اعرف ايش هي بالعربي وبصراحه واجهت صعوبه ان الشرح يكون بالعربي لو كنت شرحت بالانجليزي كان اسرع واسهل لي نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    بس لحد الآن أعتقد أننا عارف هي النقاط

    منتظر البقية
    اذا مو تخصصك ايش جابك عندنا >>> امزح طبعا اخي اهلا وسهلا وتابع براحتك نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    على فكره اذا مش تخصصك ليه مهتم كذا بوجع الراس نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

  7. #19

    الصورة الرمزية حنــــان
    تاريخ التسجيل
    Jul 2008
    الدولة
    بين (س) وَ ( ي )
    العمر
    36
    المشاركات
    5,846
    معدل تقييم المستوى
    351

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    ياسلام أنا منتظرة ...

    <<< انا عارفة مستعجلة مرة ..
    نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

  8. #20

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    اقتباس المشاركة الأصلية كتبت بواسطة حنــــان مشاهدة المشاركة
    ياسلام أنا منتظرة ...

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

  9. #21

    الصورة الرمزية حنــــان
    تاريخ التسجيل
    Jul 2008
    الدولة
    بين (س) وَ ( ي )
    العمر
    36
    المشاركات
    5,846
    معدل تقييم المستوى
    351

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

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

  10. #22

    الصورة الرمزية صبا
    تاريخ التسجيل
    Apr 2008
    الدولة
    أطهر أرض
    المشاركات
    13,592
    معدل تقييم المستوى
    579

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    رووووووووعه يا الاء ..

    أنا وين كنت عن هالموضوع ..

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

    متابعة هنا ..

    ويعطيك الف عافيه يارب ..love:
    ان كمية الغضب التي تجتاحني نظير ما اراه في كل شيء ..
    تحرق الاخضر واليابس في مخيلتي ..
    ولا يستطيع اطفاء هذا الغضب .. الا ايماني .. بان ما اراه .. هو ما خلقت لاراه
    وان هذه الحياه .. درس كبير جدا .. للروح.. لتستوعب معنى الظلم ..
    ولكي نعرف لماذا حرم الله الظلم على نفسه .. قبل ان يحرمه علينا ..

    رياض اليافعي ..

  11. #23

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

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

    تحياتي
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

  12. #24

    الصورة الرمزية ليلى العامريه
    تاريخ التسجيل
    Dec 2008
    المشاركات
    1,634
    معدل تقييم المستوى
    254

    رد: ~~~ البرمجة غرضية التوجة ( oop ) ~~ ^_^

    set and get functions::

    في البرمجه الكينونيه نحرص على تحقيق مبداء الـencapsulation(hiding data) لذلك الـdata members (attributes) تكون دائماُ private وبالتالي لا نستطيع الوصول لها من خارج الـclass
    وللوصول لها من خارج الـ class نستخدم public functions داخل الـclass للتعامل مع الـprivate members ونستطيع مناداتها من خارج الـclass هذه الـfunctions هي ::get & set functions
    Get function تستخدم لارجاع قيمه بينما الـset function تستخدم لاسناد القيم لمتغير معين
    سيتوضح مفهوم الـset & get من خلال المثال التالي::



    class Time


    {


    private:


    int hour;


    int minute;


    int second;


    public:


    void setTime(int h*int m*int s)


    {


    hour =h;


    minute=m;


    second=s;


    }// in this function we assigned values to private members



    void setHour(int h)


    {


    hour =h;


    }



    void setMinute(int m)


    {


    minute=m;


    }



    void setSecond(int s)


    {


    second=s;


    }



    int getHour()


    {


    return hour;


    }



    int getMinute()


    {


    return minute;


    }



    int getSecond()


    {


    return second;


    }



    void printTime()


    {


    cout<<hour<<”:”<<minute<<”:”<<second<<endl;


    }


    };



    void main()


    {


    Time A*B;………… Time من نوع objects عرفناهم كـ A and B

    A.seTtime(12*40*50);…….set function.اعطاء قيم واسنادها بمناداة الـ


    B.setTime(8*3*7);


    A.pritTime();


    int h ;


    cin>>h;


    B.setHourنقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي;


    cout<<B.getHour();



    }





    من المثال السابق يتضح لنا مفهوم الـ set function وهو استخدامها لاسناد قيم لمتغير private ونستطيع مناداتها خارج الـ class وبما انها تسند قيم بالتالي تحتاج الى parameter list وتستقبل هذه القيم وتسندهم

    اما بالنسبه للـget function فاننا نستخدمها للحصور على قيمه معينه لمتغير معين في اclass ولذلك دائما ترجع قيمه



    Constructor and destructor :
    اولاٌ:الـ constructor
    · عباره عن public function داخل الـclass
    · لها نفس اسم الـclass
    · لا ترجع قيمه
    · ليسى لها اي return type(void*int….etc)
    · Called automatically when an object is created بمعنى انها تشتغل اتوماتيكياً اول ما ينخلق او ينتشىء الـobject وما تحتاج ان نناديها
    انواع الـconstructor :
    1. default constructor :
    has an empty parameter list بمعني انه ليس لها اي parameters
    2. constructor with parameter list :
    له parameter list ويستقبل هذه القيم ويقوم باسنادها للمتغيرات كقيم اوليه للdata members


    وعادةً يستخدم الـconstructor لاعطاء قيم اوليه للمتغيرات data members
    او اذا اردنا عمل شي معين عند خلق اي object من نوع الـclass مثل عمل counter لعد كم object انخلق من هذا النوع
    ويمكن ان يكون في الـclass الواحده اكثر من constructor ولكن هناك ملاحظه مهمه اذا كتبنا الconstructor with parameters من الضروري كتابه الdefault constructor
    ولكن لا يشترط عند كتابه الـdefault constructor كتابه الconstructor with parameters
    اي ان الـdefault يستطيع التوااجد لوحده بعكس الاخر constructor with parameters بحيث يحتاج وجود الـdefault قبله.
    كما انه عند وجود اكثر من constructor لا يمكن ان يشتغل اكثر من واحد واحد فقط الذي سوف يشتغل وهو الconstructor الذي بيطابق الparameters الذي أًرسلت عند خلق الObj او قد لا يكون هنالك Parameters وبالتالي بيشتغل الdefault

    ويستضح ذلك من خلال المثال التالي ::


    class point



    {



    int x*y;…………………….. by default private (no need to write it down)



    public:



    point ()



    {



    x=y=0;



    cout<<”Hello” <<endl;



    }// end of default constructor



    };



    void main()



    {



    point a;



    point b;



    point c;



    }



    Output:



    Hello



    Hello



    Hello



    Same example using 2 types of constructor ::




    class point



    {



    int x*y;…………………….. by default private (no need to write it down)



    i



    public:



    point ()



    {



    x=y=0;



    cout<<”Hello you are in default constructor”<<endl;



    }// end of default constructor



    Point(int a*int b)



    {



    X=a;



    Y=b;



    Cout <<”Hello you are in constructor with 2 parameters ” <<endl;



    }// end of constructor with 2 parameters



    };



    void main()



    {



    point A;….. run default constructor



    point B(5*7);……….run second constructor



    point C(3*4*5);…….Error coz no matching constructor exist



    }



    Output



    Hello you are in default constructor



    Hello you are in constructor with 2 parameters



    ثانياً: destructor :
    · هو عباره عن public function في الـclass
    · لها نفس اسم الـclass ولكن يسبقها اشارة ~ للتعريف بها كـdestructor
    · ليسى لها return type او parameter list
    · Called automatically when an object die
    معنى انها تشتغل اوتوما تيكيا عند موت الـobj ونعني بذلك انتهاء فترته في RAM(memory) سيتضح معنى ذلك من خلال المثال التالي




    Ex:


    class test


    {


    Int x*y ;


    Public:


    Test ()


    {


    Cout<<”default construcr”<<endl;



    }//end of constructor


    Test()~


    {


    Cout<<”Destructor”<<endl;


    }


    };


    Void main()


    {


    Test A*B*C;


    Test D;


    {


    Test E;


    Test F;


    }


    Test G;



    }


    Output:


    Default constructor…..for A


    Default constructor …..for B


    Default constructor…..for C


    Default constructor…..for D


    Default constructor…… for E


    Default constructor…….for F


    Destructor ……for F


    Destructor…..for E


    Default constructor…..for G


    Destructor ….for G



    Destructor ….for D


    Destructor ….for C


    Destructor ….for B

    Destructor ….for A

    من الملاحظ من الـoutput ان اخر Obj انخلق في الـBlock هو اول واحد يموت
    ومن المعروف ان المتغيرات بشكل عام تنتهي او تموت عند نهايه الblock سواء كان block لجمله If او for بحيث انه يكون Local variable وليسى global variable
    التعديل الأخير تم بواسطة ليلى العامريه ; 10-03-2009 الساعة 08:46 PM
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. البرمجة العصبية اللغوية : سلاح سري ؟
    بواسطة أخبار موقع روسيا اليوم في المنتدى ملتقى الأخبار والمنقول
    مشاركات: 0
    آخر مشاركة: 18-02-2010, 08:30 PM
  2. ماهي لغات البرمجة ... نبذة مختصرة عن لغات البرمجة
    بواسطة وائل عبدالله في المنتدى ملتقى الرقميات
    مشاركات: 6
    آخر مشاركة: 08-11-2007, 09:59 PM
  3. لغات البرمجة
    بواسطة يمانيون في المنتدى ملتقى الرقميات
    مشاركات: 5
    آخر مشاركة: 06-10-2007, 08:07 AM
  4. يا اهل البرمجة وجت موقع يهبل
    بواسطة عدني في المنتدى ملتقى الرقميات
    مشاركات: 3
    آخر مشاركة: 17-12-2006, 09:33 PM

المفضلات

المفضلات

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

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