بايثون: البرمجة كائنية التوجه [OOP]: هو نموذج (نموذج) برمجة يستخدم
الكائنات والفئات لتنظيم البرامج في طريقة لنماذج الكيانات والعلاقات في العالم الحقيقي. يعتمد هذا على فكرة أن الكائنات يمكن أن تحتوي على بيانات ورمز يعالج تلك البيانات.
هناك مفاهيم أساسية تحتاج إلى معرفتها حول البرمجة الشيئية:
المثال أدناه، هو مثال لمساعدتك في الرجوع إلى المفاهيم التي يتم شرحها وإعطائك فكرة رسومية عن كيفية ظهور كل مفهوم داخل الكائن، إذا كنت بدأت في تعلم OOP، فهذا سيساعدك أنت تفهم ما يفعله كل مفهوم.
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هي الفئة:؟
في بايثون، الفئة
: هي مخطط لإنشاء الكائنات. فهو يحدد مجموعة من السمات والأساليب التي ستمتلكها الكائنات التي تم إنشاؤها. على سبيل المثال، يمكنك بسرعة تحديد فئة مثل هذا:
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هو الكائن؟
في بايثون، والكائن هو مثيل لفئة. يتم إنشاؤه باستخدام مخطط الفصل ويمكن أن يكون له بيانات فريدة خاصة به. على سبيل المثال، يمكنك إنشاء كائن مثل هذا:
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هي السمات؟
في بايثون، السمات هي متغيرات تنتمي إلى فئة أو كائن. أنها تمثل حالة أو بيانات الكائن. يبدو مثال السمة كما يلي:
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هي الطرق؟
في بايثون، الأساليب هي وظائف تنتمي إلى فئة ما. وهي تحدد السلوكيات أو الإجراءات التي يمكن للكائنات القيام بها. مثال على الطريقة يبدو كما يلي:
نصيحة: عند تحديد طريقة، يمكنك إضافة تصريح؛ مؤقتًا حتى لا يلقي بايثون خطأً عند تشغيل الملف.
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هو الميراث؟
في لغة بايثون، الوراثة هي آلية حيث ترث فئة جديدة (فئة فرعية) السمات والأساليب من فئة موجودة (الفئة الأصلية). مثال:
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
ما هو التغليف؟
التغليف في حزمة من البيانات (السمة) والأساليب التي تعمل على البيانات في وحدة واحدة (فئة)، وتقييد الوصول إلى بعض مكونات الكائن. بالإضافة إلى ذلك، يمكنك جعله متغيرًا خاصًا عن طريق إضافة الشرطة السفلية المزدوجة __ إليه. بالإضافة إلى ذلك، يجب عليك توفير أساليب getter وsetter للوصول إلى المتغير الخاص وتعديله.
على سبيل المثال، يمكنك تعيين متغير خاص مثل هذا:
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()وإضافة Setter وGetter للوصول إلى المتغير الخاص وتعديله
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
طريقة Getter: تتم إضافة طريقة get_make إلى الوصول إلى المتغير الخاص __make
طريقة الضبط: تتم إضافة طريقة set_make إلى تعديل المتغير الخاص __make
يقوم هذا بتغليف سمة الصنع، مما يضمن عدم إمكانية الوصول إليها مباشرة من خارج الفصل، وبالتالي توفير تغليف وتحكم أفضل في السمة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3