Learn Python
Open in Telegram
﷽ • Welcome to 𝙿𝚈𝚃𝙷𝙾𝙽 Channel • • Content : - Python Scripts - Solutions problems . - Distribution of Python Tools . - Education Python . • Owner › @GDO00BOT . • ChaT › @PY3_Learn .
Show more1 319
Subscribers
+524 hours
+77 days
+5230 days
Posts Archive
1 319
⌯ التجريد ( abstraction ) :
ـ = = = = = = = = = = = = =
• هو أحد الاساليب المهمه جداً جداً جداً ، الفكره منه تسهيل عمل المبرمج بتقليل عدد الاوامر البرمجيه التي عليه كتابتها وكذلك تنظيم عملها ، بجعله ينفذ مايريد من الاوامر بسهوله وبساطه ،
~ الكلاس المجرد ( abstract class ) :
ـ = = = = = = = = = = = = = = = = = =
• الكلاس المجرد يرث خصائص التجريد من كلاس اسمه ABC ، عبر المكتبه abc،
ويتم كتابتها بهذا الشكل :
from abc import ABC
class Perant(ABC):
pass
⌯ مفهوم التجريد ( abstract methods ) :
ـ = = = = = = = = = = = = = = = = = = = =
• يتم تعريف مجموعة دوال محدده تسمى الدوال المجرده ( abstract methods )،
في الكلاس الأب ومن ثم إيراثها للكلاس الابن ، بالشكل الذي يناسبه ، وبذالك عند وراثه دوال مجرده فيجب عليك اعاده تعريف ( Override ) ، الدوال في الكلاس الابن ، نقوم بانشاء الدوال الثابته نثل الدوال العاديه ولاكن كتابه ( @staticmethod ) ، في السطر الذي يسبقها كإشاره على أنها داله ثابته .
from abc import ABC, abctractmethod
class parent(ABC):
@abctractmethod
def out(self):
pass
او :
from abc import ABC, abstractmethod
class Person(ABC):
def hello(self):
print(" Welcome To Class Person .")
@abstractmethod
def send(self):
pass
@abstractmethod
def get(self):
print(" have abs method 2.")
class child(Person):
def hello(self):
print(" Welcome To Class child .")
def send(self):
print(" Done Insert By Child .")
def get(self):
super().get()
print(" Added By Child .")
obj = child()
obj.hello()
obj.send()
obj.get()
~ ملاحظات :
ـ = = = = = = =
• الكلاس المجرد الكلاس المجرد يمكن أن يحوي على دوال عاديه أيضاً .
• اذا كان الكلاس المجرد لايحوي على دوال عاديه فلايمكن انشاء كائن من الكلاس لان الغرض منه هو وراثته فقط ،
• عند وراثه كلاس مجرد فيجب اعاده تعريف الدوال الموجوده بالكلاس المجرد في الكلاس الجديد وهذا أمر أجباري ،
ـ = = = = = = = = = = = = = = = = = = =1 319
⌯ الدوال الثابته ( static Methods ) :
ـ = = = = = = = = = = = = = = = = = =
• هي نوع من الدوال خاص بالكلاسات، حيت يتم تعريفها داخل الكلاس والفكرة منها أنه يمكن استدعائها مباشره دون الحاجه الى أنشاء كائن من الكلاس، الدوال الثابته مصممه للكلاس نفسه مصممه للكلاس نفسه وليس لكائنات الكلاس ، يمكنك أيضاء استدعاء الدوال الثابته عبر انشاء كائن ( object ) .
⌯ شروط تعريف الدوال الثابته :
ـ = = = = = = = = = = = = = = =
1 - الدوال الثابته لاتقبل الكلمه المفتاحيه self .
2 - نقوم بانشاء الدوال الثابته نثل الدوال العاديه ولاكن كتابه ( @staticmethod ) ، في السطر الذي يسبقها كإشاره على أنها داله ثابته .
class A:
x = 7
@staticmethod
def out():
print("~ X =",A.x)
ob = A()
ob.out()
او :
class B:
y = 10
@staticmethod
def out_():
print("~ Y =",B.y)
obj = B()
obj.y = 17
obj.out_()
B.out_()
print(" Y =",obj.y)
ـ = = = = = = = = = = = = = = = = = = =1 319
شباب اذا بدكم مساعدة في ((( مشاريع ))) ، ركز مو ادوات ،
Me : @PY_404 .
Azoz : @class_error .
Bot : @GDO00BoT .
اذا في شي يخص الصيد ... الخ ماحد بيرد عليك .
