السلام عليكم
اريد تحويل شيفرة الى كائنية التوجه في بايثون
a=int(raw_input('add'))
if a <= 15:
print 'small'
if a >= 16:
print 'big'
هذا برنامج بسيط في حال كان المدخل اصغر او يساوي 15 يطبع صغير واذا كان اكبر او يساوي 16 يطبع كبير
اتمنى تحويله الى OOP
السلام عليكم
اريد تحويل شيفرة الى كائنية التوجه في بايثون
a=int(raw_input('add'))
if a <= 15:
print 'small'
if a >= 16:
print 'big'
هذا برنامج بسيط في حال كان المدخل اصغر او يساوي 15 يطبع صغير واذا كان اكبر او يساوي 16 يطبع كبير
اتمنى تحويله الى OOP
لا يمكن التحويل "هكذا" من وإلى OOP. الـOOP هي أسلوب تصميم يجب تطبيقه من الجذور. أي أن البرنامج يجب أن يتم تصميمه من البداية على أن يكون متبعاً لمنهجية الـOOP. وهو أمر عادةً غير ملائم لمثل هذه البرامج الصغيرة، التي يناسبها أكثر أن تكون procedural (أي كما وضعتها الآن حالياً). تذكر أن الـOOP يضيف طبقة تعقيد إضافية عادةً لا تستفيد منها إلا برامج معينة.
في الحقيقة طلبي لتحويل الشيفرة الى oop وذلك ليتضح لدي مفهوم oop في بايثون
فاتمنى منك كتابة مثل فكرة البرنامج ولكن يكون oop
واتمنى لو لديك مصادر عن oop في بايثون ان تطرحها هنا
وشكرا
طيب من لديه مصادر تخص oop في بايثون
انا عملت برنامج مماثل لكن بإستخدام class
class Abc:
pass
def num(self):
a=int(raw_input('add'))
if (a<= 15):
print 'small'
elif (a>=16):
print'big'
a.num()فما رأيك هل طريقتي صحيحة ام لا ؟
تم تعديل هذه المشاركة بواسطة Maso3 في 21 أغسطس 2011 في 18:18
محاولة موفقة
عدا انه المفترض تعريف العنصر a على ان من فئة Abc
a = Abc()
حتى يتسنى لك استخدام دالة num
class Abc:
pass
def num(self):
a=int(raw_input('add'))
if (a<= 15):
print 'small'
elif (a>=16):
print'big'
a = Abc()
a.num()اذا اردت بعض التحسين فـ pass لا داعي لاستخدامها هنا
الا اذا كانت الفئة لا تحوي اي تعريف لاي دالة او خاصية
هكذا
class Empty:
passو pass تعني " يا مفسر البايثون تخطى هذا السطر "
تحياتي
شكراً لك
اتضح لي مفهوم oop الان