طبعاً البرمجه الشيئيه أو البرمجه الموجها للكائنات هي ان تجعل برنامجع مجموعه من ال objects او الكائنات التي تتعامل فيما بينها ولكل كائن دوره حياه و عمليه خلق او creation وعمليه موت او انهاء وجود الكائن ، طبعاً هذا الامر يسهل عليك الكثير من الجهد والعمل ويجعل برامجك اسهل من حيث الفهم وأمكانيه التطوير فأذا اردت ان تطور برنامجك فبأمكانك تطوير الكائن المعين الذي تريده دون تغيير على الكود للبرنامج .
طبعاً الموضوع يحتوي الكثير من المفاهيم الاساسيه وافضل طريقه لتعامها ه يفي ان تبداء تبرمج بنفسك كل موضوع جديد تتعلمه في هذا المجال ، المواضيع سهله وليسه صعبه ولكنها تعتمد على الابداع والتخيل نوعاً ما .
اولاً وقبل كل شيء عليك تعلم مفهوم ال structure بشكل اساسي قبل الدخول في علم ال OOP .
ال structure :
وهو عمل خليط من مجموعه من الvariables و functions او (دوال ومتغيرات) للقيام بوضيفه معينه او التعبير عن شيء معين
مثلاً لو اردنا ان نعمل structure لمربع ماهي المتغيرات للمربع ؟؟؟
انها طول الضلع لان باقي الاضلاع متساويه
ماذا يمكن ان نحصل عن معلومات قد نحتاجها من المربع مثلاً المساحه والمحيط ويمكن اشياء اخرى غير ذالك سوف نفترض اننا سوف نستفيد فقط من المساحه
اذا ال structure الذي سوف نقوم ببنائه يحتوي على متغير وهو طول الضلع وعلى function تحسب المساحه .
الان كيف علينا تحديد اسم ال structure وافضل اسم هو square اي مربع .
الان كيف سنعبر عن هذا ال structure حتي يفهمه السي ::
اولاً عليك ان تعرف ان عليك تعريف ال structure قبل داله ال main
ثانياً نستخدم الكلمه المحجوزه struct ثم يتبعها اسم ال structure الذي نريده
struct square
ثم القوسين وبداخلهما نكتب ما نريده من متغيرات و دوال
<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> struct square{<BR> int length;<BR> int Area(){return length*length;}<BR>};//مهم جداً جداً ان لاتنسى وضع الفاصله المنقوطه<!--c2--></div><!--ec2-->
لاتنسى وضع الفاصله المنقوطه .
طبعاً طول الضلع هو length وسوف تكون المساحه هي length*length اي طول الضلع تربيع
هذا هو تعريف الstructure ولان كيف نستخدمه ؟؟؟
الان داخل جمله ال main سنعرف متغير من نوع square اي من نوع الstructure الذي قمنا ببنائه .
;square S1
الان ماذا نحتاج ان ندخل للsquare من بيانات ؟؟؟ نعم انه طول الضلع lenght لكن كيف ؟؟؟
لاستخدام المتغيرات او الدوال داخل الstructure نستخدم ال النقطه بعد اسم المتغير الذي من نوع structure وهو هنا S1
;S1.length=10
الان ال structure سوف تقوم بحساب المساحه لك ، ولكن كيف نحصل على المساحه ؟؟
نستخدم نفس الطريقه بأستخدام الداله Area داخل ال structure
<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--> cout<<S1.Area();<!--c2--></div><!--ec2-->
الان ماذا سيطبع البرنامج ؟؟ سيطبع 100 وهي المساحه الفعليه
والان البرنامج كاملاً :
<!--c1--><div class='codetop'>كود</div><div class='codemain'><!--ec1--><BR>#include<iostream><BR>#include<conio.h><BR>using namespace std;<BR>struct square{<BR> int length;<BR> int Area(){return length*length;}<BR>};//مهم جداً جداً ان لاتنسى وضع الفاصله المنقوطه<BR><BR>int main(){<BR>square S1;<BR>S1.length=10;<BR>cout<<S1.Area();<BR> getch();<BR>return 0;}<BR><!--c2--></div><!--ec2-->
اتمنى ان تكونوا فهمتو الفكره الاساسيه لل structure وهي بسيطه نوعاً ما ونستفيد منها كثيراً كما تلاحظ .
اي استفسارات ان ارحب بها كثيراً
ولان حاولو ان تعملو structure لل المستطيل واضف له داله للمحيط مثلاً وحاول ان تطبق ما تعلمته هنا ، وانا في الخدمه للمساعده