هل يعتبر الاوبجكت نسخه من الكلاس ، وكيف يستخدم فالبرمجة

هل يعتبر الكلاس مصدر لكائن معين ويتم تعددالاوبجكت منه مع اختلاف الاوصاف

كمثال لتوضيح حتى يتسنى لك فهمي، لسوء الشرح والتعبير

كلاس لفاكه الاوبجكت فاكهه حمراء دائرية الشكل فاكهه خضراء مربعة الشكل ونقول كلاس سياره اوبجكت سياره حمراء سياره خضراء

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

واعطني مثال لاستخدامه في التطبيقات وما فائدته واين يكون موضعه واستخدامه

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

المصطلح الادق هو قالب بدلا من مصنع

إن كان المصطلح قالب أدق من مخطط فماذا عن Template

عفوا انا قلت كمثال،

الصنف مجرد وصف للكائن هو يشبه مخطط الذي يستعمله المهندس المعماري للمباني

-

ملاحظة :

لا تكتب أوبجيكت أو كلاس، بل أكتب كل مصطلح بحروف لغته

فالشائع ترجمةObject إلى كائن، وترجمةClass إلى صنف أو فئة أو فصيلة

هناك مصطلحات خاطئة جدا عن الكلاس والاوجيكت

ارجوا التركيز معي لفهم الفرق بينهما جيدا

لناخذ الكلاس انسان

حسنا

لنفرض ان الانسان عنده خصائص او اتريبيوت

من بين هته الاتريبيوت يوجد مثلا

الاسم في حالة الكلاس الاسم يكون عبارة عن مجال مثلا

الانسان يمكن يكون اسمه محمد او احمد او موسى او عيسى او مريم او سمية او خديجة وغيرها من الاسماء

اذن في حالة الاتريبيوت الخاص بالكلاس هذا الاتريبيوت ياخذ مجال

ناخذ اتريبيوت اخر مثلا العمر

العمر يكون في المجال 0 مثلا الى 120 سنة

وهكذا بالنسبة لباقي لاتريبيوت

لنسقط النظري على الواقع

عندما اكتب كلاس مثلا وداخل الكلاس اكتب مثلا

int a;

فهو بالنسبة له يعرف اي على اساس انه مجال واي سوف تاخذ مستقبلا قيمة من هذا المجال

مثلا اي يمكن ان تاخذ القيمة 0 او 1 او 100 او 1500 وهكذا ففي الكلاس اعطيته مجال لمتغير الذي هو في هته الحالة اي


ننتقل الان للميثود

الميثود في الكلاس هو كوود برمجي

في الكلاس اقوم بتعريف الميثود بناءا على كل الاحتمالات الخاصة بالميثود التي اريد انشاءها

مثلا

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

public void Speak(String str)

{

if(str.equlas("arab")) System.out.println("I speak arab!";

}

وهكذا بالنسبة لباقي اللغات

مثلا هنا قمت ببناء كوود برمجي بناءا على احتمال معين او على حدث معين اقوم بالتصرف معاه

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

نفس الشيء مثلا بالنسبة للانكليزية

نفس الشيء بالنسبة مثلا للامانية او الفرنسية او الصينية او الاسبانية وهكذا

فكلما كانت الميثود تحتوي على احتمالات كثيرة كلما كان الكوود البرمجي كبير

ويمكن اضع متغير اخر للتعبير عن مدى اتقان اللغة

مثلا اذا كان المتغير الاول العربية والمتغير الثاني يساوي عشر اقوم بطبع الجملة انا اتكلم العربية باحتراف

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

اذن في الميثود اقوم ببناء كوو برمجي بناءا على احتمال معين او مجموعة من الاحتمالات وكلما كانت مجموعة الاحتمالات كبيرة كلما كتبت كوود كبير وينصح ان نقوم ببرمجة كوود يقوم باتخاذ قرارات معينية بناءا على احتمال معين

هذا باختصار الكلاس


الاوبجيكت ماهو؟

في الاوبجيكت اقوم باعطاء قيمة واحدة لمتغير

فكما قلنا مثلا في الكلاس انسان كانت عندنا مجموعة من الاسماء التي يمكن للكلاس ان تاخذها

في الاوبجيكت ماذا افعل ؟

اختار قيمة معينة مثلا اختار الاسم محمد فالاوبجيكت اخذت قيمة من المجال المعرف في الكلاس ولا يمكنها ان تاخذ كل القيم

مثال عملي

في الاكلاس قمت بتعريف اي على اساس انه قيمة حقيقة وعنده مجال كبير من 0 الى 120 مثلا

في الاوبجيكت اقول له هذا الاوبجيكت عنده القيمة 20 بالنسبة لاي فهنا قمت بتحديد القيمة المعينة


بالنسبة للميثود فالاوبحيكت سوف يقوم بتشغيل الميثود وينفذ اوامر بناءا على احتمال معين مثلا على احتمال ان الاوبجيكت ينادي الكلام سبيك بالمتغيرين العربية و10 فيحصل على على النتيجة انا اتكلم العربية بشكل ممتاز التي هي نتجية هذا الاحتمال

ويمكن الاوبجيكت يكون عنده اكثر من احتمال مثلا

كان يكون يتكلم العربية والانكليزية بشكل ممتاز

ارجوا ان تكون وصلت الفكرة لك

والاصح ان الاوبجكت نسخه من الكلاس هل هذا صحيح