Page 2 of 3 FirstFirst 123 LastLast
Results 13 to 24 of 25

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

  1. #13

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    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

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    254

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

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

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

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

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

  3. #15

    حنــــان's Avatar
    Join Date
    Jul 2008
    Location
    بين (س) وَ ( ي )
    العمر
    36
    Posts
    5,846
    Rep Power
    352

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

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

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

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

  4. #16

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    254

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

    Quote Originally Posted by حنــــان View Post
    يسلمووووووووووووووو روووووووووعه هذي انا قرأت عنها وفهمتها ..

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

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

  5. #17

    سامح الجنوب's Avatar
    Join Date
    Feb 2008
    Posts
    13,689
    Rep Power
    566

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

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

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

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

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

  6. #18

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    254

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

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

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

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

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

  7. #19

    حنــــان's Avatar
    Join Date
    Jul 2008
    Location
    بين (س) وَ ( ي )
    العمر
    36
    Posts
    5,846
    Rep Power
    352

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

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

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

  8. #20

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    254

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

    Quote Originally Posted by حنــــان View Post
    ياسلام أنا منتظرة ...

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

  9. #21

    حنــــان's Avatar
    Join Date
    Jul 2008
    Location
    بين (س) وَ ( ي )
    العمر
    36
    Posts
    5,846
    Rep Power
    352

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

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

  10. #22

    صبا's Avatar
    Join Date
    Apr 2008
    Location
    أطهر أرض
    Posts
    13,592
    Rep Power
    580

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

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

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

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

    متابعة هنا ..

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

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

  11. #23

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    254

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

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

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

  12. #24

    ليلى العامريه's Avatar
    Join Date
    Dec 2008
    Posts
    1,634
    Rep Power
    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
    Last edited by ليلى العامريه; 10-03-2009 at 08:46 PM.
    نحن لا نتعلم الحياة من الآخرين نتعلمها من خدوشنا
    ومن كل ما تبقى منا أرضاً بعد سقوطنا ووقوفنا

Page 2 of 3 FirstFirst 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

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

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •