ماهو class و ماهو object في جافا oop part 1

الكاتب: Mr.Aziz

تاريخ النشر: 2022-03-17 17:57:05

مساءكم الله بالخير 


 

اليوم راح ابدء اشرح لكم عن OOP في اللغة جافا

 

ماذا تعني oop ؟

OOP: Object-Oriented Programming 

هي طريقة حفظ القيمة او المعلومات بواسطة كلاس و يكون كل كلاس له قيم و معلومات لها خاصة زي category بضبط.

 

مثال

Category

هو الفواكه 

ولكن تابع لها كمعلومات هي التفاح و الموز والكرز و برتقال و غيره

 

 

ايضآ السيارات :

تابع لها تويوتا مازدا نيسان فولفو وغيره 

وهكذا 

 

 

 

 

تخيل معاي قلت لك مانوع السيارات ؟  طبعآ السيارات عباره عن كلاس 

 

و أوبجكت بيكون ايش؟ 

بيكون تويوتا و مازدا و نيسان و فيراري  وفولفو الى ذالك.

 

ببساطة هذي class/ object كل كلاس تابع لها اوبجكت خاص بها 


 

ليه تم اختراع هذي طريقة؟

 

- لتسهيل العملية عمل الكود و يصير نظيف بدون اي مشاكل.

 

- بناء structure  بيكون أنظف و أرتب لانه كل كلاس بيكون تابع له 

 

تخيل معاي في لعبة بتلفيلد او كود 

شخصية له كلاس و مراحل له كلاس و تصميم له كلاس و حركات العدو له كلاس وهكذا 

 

طيب تخيل ممكن يكون بدون كلاسات ايش بيصير؟ اكيد بتصير حوسه صح؟

 

عشان كذا ألاسهل عمل كلاسات و أرتب في البرمجة.

 

- و ايضآ في مثل معروف جدآ هو DRY تعني Don't Repeat Yourself 

 

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

 

طريقة كتابة syntax كلاس مع اوبجت بيكون بهذي طريقة 

 

 

أول شي نكتب أسم كلاس بيكون برا عن المين main زي ماهو مكتوب 

 

نكتب اسم كلاس ثم اي اسم نختار يكون بأسم كلاس

 

انا بكتب myclass


 

Class myclass {

Here’s code

 

}

 

ألان كتبنا اسم كلاس و وضعنا اسم كلاس خاص به تمام

 

خلينا نكتب متغير فيها قيمة عشان نعرف كيف object يستدعيها من داخل المين main 

 

بيكون متغير فيها قيمة عباره عن رقم 

 

Int x = 5

 

 

كذا مثال بسيط عشان نتعلم كيف object يستدعيها 

 

الان نروح object و بيكون من داخل  main تمام؟

 

بيكون بهذي طريقة 

 

 

من داخل main نستدعي الكلاس عشان نعمل object لكي نستخدمها ونستخدم اي متغير التي موجوده في كلاس تبعي تمام.

 

راح تكون بهذي طريقة 

 

myclass theObject = new myclass(t)

 

Myclass

اسم الكلاس تبعي التي تم انشاءه فوق

 

theObject

أسم متغير تم انشاءه ليكون الاوبجكت وممكن يكون اي اسم اخر مو شرط اسم معين

 

= new

يتم عمل اوبجكت جديد لتابع كلاس التي تم انشاءه هو 

myclass(t)


 

ألان خلينا نعمل طباعة للقيمة التي وضعناها داخل كلاس كيف؟ 

 

بيكون بهذي طريقة 

 

theObject.x 

 

theObject

المتغير التي انشأناه من اجل الاوبجكت 

 

نقطة ثم المتغير التي يكون متواجد داخل الكلاس فقط 

 

شرح بالصوره

 

 

 

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

 

ثم نكتب اسم الاوبجكت ثم نقطة ثم بعدها اسم المتغير التي متواجد في الكلاس 

 

و نعمل رن 

 

 

 

و النتيجة مثل ماهو واضح 

 

هذي بكل بساطة الآوبجكت و الكلاس بشكل مبدئي و طبعآ يشبه كثير عن struct في اللغة C++

 

بأمكانك استخدام كلاس فقط أو استخدام بأشياء المتقدمة

 

راح نشرح كل مقال شي عشان نبسط المعلومة و نسهلها عليكم

 

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