السلام عليكم
اريد كتابة برنامج (فقط الكود)يقوم بحساب مساحة الدائرة والمثلث والمربع والمستطيل (طبعاً مش مهم العمليات الحسابية المهم كيفية التطبيق) ويكون عن طريق كلاسات ووراثة
السلام عليكم
اريد كتابة برنامج (فقط الكود)يقوم بحساب مساحة الدائرة والمثلث والمربع والمستطيل (طبعاً مش مهم العمليات الحسابية المهم كيفية التطبيق) ويكون عن طريق كلاسات ووراثة
تم تعديل هذه المشاركة بواسطة sky22222 في 25 مارس 2012 في 22:03
السلام عليكم
ابدا بالبرنامج وبنساعدك عند حدوث اي مشكله او عندما يكون هناك اي استفسار بس طلب البرنامج كامل صعب شوي
ليس لصعوبة كتابه البرنامج لكن حتى تستفيد
بالتوفيق
لا أخي انا ما بدي برنامج بدي بس الكود
انا الان في المشكركة القادمة إن شاء الله راح اكتب الكود واريد التصحيح منك اذا في مجال
وشكراً جزيلاً على الرد
يعني مثلاً هل يفضل عمل abstract class وكل class بعمل وراثه اله وبحسب المسحه المطلوبة بس السؤال في ال abstract class ال method اللي فيه ال implemntation بقدر أغيره
يعني لو عندي
abstract method function (int a)
لو عملتله وراثة من كلاس تاني بقدر أغير ال implementaion
abstract class area
}
abstract function();
class rect extends area
}
هيك صح وكيف أكمل يا ريت لو توضيح بس لشغله وحده مثلاً مساحة المستطيل فقط والباقي بكملة انا بس بدي أعرف كيف أقدر أتعامل مع الاوبجكت والا وراثة عن طريق هالمثال
السلام عليكم
تفضل هيني عملت المستطيل كمثال بسيط وسريع ان شاء الله تستفيد منو
abstract class Area // Abstract class
{
protected int x;
protected int y ;
public abstract double CalculateArea(); // Abstract method
}
class MyRect : Area
{
MyRect()
{
x = 5;
y = 4;
}
public override double CalculateArea()
{
return x * y;
}
}تم تعديل هذه المشاركة بواسطة R@ND_CiS في 25 مارس 2012 في 23:07
أنا لا أستخدم لغة البرمجة اللي تستخدمها يا أخ R@ND_CiS ، لكن أضن أنه لا يجب تعريف x = 5; y = 4 بل حذفها نهائيا لأن هذي عبارة هذه كلاس والمستخدم يضع في الفيلد x و y المعطيات التي يشاءها، ومن جهة أخرى أوافقك على عمل override لدالة حساب المساحة CalculateArea
بالنسبة لحساب المثلث فبامكانك أن تعتبر طول قاعدة المثلث هو نفسه x و ارتفاع المثلث هو y وعندما تعمل الـ override تغير الدالة CalculateArea الى
return x * y/2;
بالنسبة للدائرة عليك ان تعرف فيها فيلد جديد في كلاس الدائرة وتسميه r مثلا وهو نصف قطر الدائرة وعندما تعمل الـ override تغير الدالة CalculateArea الى
return pi*r*r;
وطبعا تقوم بتعريف pi على أنه 3.1415
تم تعديل هذه المشاركة بواسطة رضا محمدي في 26 مارس 2012 في 00:43
رضا محمدي كتب:أنا لا أستخدم لغة البرمجة اللي تستخدمها يا أخ R@ND_CiS ، لكن أضن أنه لا يجب تعريف x = 5; y = 4 بل حذفها نهائيا لأن هذي عبارة هذه كلاس والمستخدم يضع في الفيلد x و y المعطيات التي يشاءها، ومن جهة أخرى أوافقك على عمل override لدالة حساب المساحة CalculateArea
بالنسبة لحساب المثلث فبامكانك أن تعتبر طول قاعدة المثلث هو نفسه x و ارتفاع المثلث هو y وعندما تعمل الـ override تغير الدالة CalculateArea الى
return x * y/2;بالنسبة للدائرة عليك ان تعرف فيها فيلد جديد في كلاس الدائرة وتسميه r مثلا وهو نصف قطر الدائرة وعندما تعمل الـ override تغير الدالة CalculateArea الى
return pi*r*r;وطبعا تقوم بتعريف pi على أنه 3.1415
السلام عليكم
بالتأكيد معك حق بالنسبه ل x و y المستخدم هو من يجب ان يحدد القيم لكن وضعتها هكذا كمثال لا اكثر للتوضيح
وبالنسبه لحساب المساحات هذا الكلاس MYRect هو مخصص لحساب مساحه المربع او المستطيل فقط
ما وضعته ليس حل كامل للسؤال هو شرح على جزء من السؤال كمساعده للاخ حتى يقوم باكماله بنفسه
ما تبقى هو ان ينشئ كلاس لكل من الدائرة والمثلث وفي كل كلاس يقوم بعمل override لداله ال CalculateArea بما يتناسب مع الشكل
بانتظار تعليقك اذا كان هناك خطأ ما
وشكرا لك
الله عليك هاد اللي بدي اياه وصلت الفكره تماماً جزاك الله كل خير وشكراً لكل من شارك بالموضوع
وانا مش مهتم بالمسئله الحسابية المهم فقط الكود وطريقة الوراثة لحل السؤال هيك الامور تمام
وشكراً لكم جميعاً