الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب تحويل شيفرة الى OOP

بدأه Maso3 في 9 أغسطس 2011 · 8 رد · 1,082 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد تحويل شيفرة الى كائنية التوجه في بايثون

a=int(raw_input('add'))

if a <= 15:

print 'small'

if a >= 16:

print 'big'

هذا برنامج بسيط في حال كان المدخل اصغر او يساوي 15 يطبع صغير واذا كان اكبر او يساوي 16 يطبع كبير

اتمنى تحويله الى OOP

#2

لا يمكن التحويل "هكذا" من وإلى OOP. الـOOP هي أسلوب تصميم يجب تطبيقه من الجذور. أي أن البرنامج يجب أن يتم تصميمه من البداية على أن يكون متبعاً لمنهجية الـOOP. وهو أمر عادةً غير ملائم لمثل هذه البرامج الصغيرة، التي يناسبها أكثر أن تكون procedural (أي كما وضعتها الآن حالياً). تذكر أن الـOOP يضيف طبقة تعقيد إضافية عادةً لا تستفيد منها إلا برامج معينة.

#3

في الحقيقة طلبي لتحويل الشيفرة الى oop وذلك ليتضح لدي مفهوم oop في بايثون

فاتمنى منك كتابة مثل فكرة البرنامج ولكن يكون oop

واتمنى لو لديك مصادر عن oop في بايثون ان تطرحها هنا

وشكرا

#4

ال oop

لا تظهر فائدتها من دالة بل من نوع من البيانات له وظائف و خصائص عديدة و أنواع أخرى مشتقة منها

الحيوانات لها ما لها من خصائص و وظائف و كذلك الثدييات و الأبقار

كيف ستعرف هذا الكم من خصائص و الوظائف ؟

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#5

طيب من لديه مصادر تخص oop في بايثون

#7

انا عملت برنامج مماثل لكن بإستخدام 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

#8

محاولة موفقة

عدا انه المفترض تعريف العنصر 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 تعني " يا مفسر البايثون تخطى هذا السطر "

تحياتي

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#9

شكراً لك

اتضح لي مفهوم oop الان

مواضيع مشابهة