"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > بايثون: OOP {إصدار المبتدئين}

بايثون: OOP {إصدار المبتدئين}

تم النشر بتاريخ 2024-11-07
تصفح:345

PYTHON: OOP {Beginner

بايثون: البرمجة كائنية التوجه [OOP]: هو نموذج (نموذج) برمجة يستخدم

الكائنات والفئات لتنظيم البرامج في طريقة لنماذج الكيانات والعلاقات في العالم الحقيقي. يعتمد هذا على فكرة أن الكائنات يمكن أن تحتوي على بيانات ورمز يعالج تلك البيانات.

هناك مفاهيم أساسية تحتاج إلى معرفتها حول البرمجة الشيئية:

  1. فصل
  2. هدف
  3. صفات
  4. طُرق
  5. الميراث
  6. التغليف
  7. تعدد الأشكال
  8. التجريد

المثال أدناه، هو مثال لمساعدتك في الرجوع إلى المفاهيم التي يتم شرحها وإعطائك فكرة رسومية عن كيفية ظهور كل مفهوم داخل الكائن، إذا كنت بدأت في تعلم OOP، فهذا سيساعدك أنت تفهم ما يفعله كل مفهوم.

فئة السيارة: تعريف __init__(الذات، الصنع، الموديل، السنة، اللون): self.__make = make self.model = model self.year = year self.color = color محرك ديف (النفس): طباعة (f"إن {self.year} {self.__make} {self.model} هو الذي يقود") # طريقة GETTER للتصنيع مواطنة get_make (الذات): إرجاع الذات.__صنع # طريقة SETTER للتصنيع def set_make(self, make): self.__make = make فئة السيارة الكهربائية (السيارة): def __init__(الذات، الصنع، الطراز، السنة، حجم_البطارية): super().__init__(الطراز، الطراز، السنة) self.battery_size = Battery_size محرك ديف (النفس): طباعة (f"إن {self.year} {self.make} {self.model} مع a {self.battery_size} - بطارية كيلو وات في الساعة تعمل بصمت.") 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()

ما هو الكائن؟ في بايثون، والكائن هو مثيل لفئة. يتم إنشاؤه باستخدام مخطط الفصل ويمكن أن يكون له بيانات فريدة خاصة به. على سبيل المثال، يمكنك إنشاء كائن مثل هذا:

my_car = Car("McLaren Automotive"، "Artura Spider"، 2024، "Red/Black") my_electric_car
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 للوصول إلى المتغير الخاص وتعديله.
على سبيل المثال، يمكنك تعيين متغير خاص مثل هذا:

self.__make = make
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 للوصول إلى المتغير الخاص وتعديله


# طريقة Getter للصنع مواطنة get_make (الذات): إرجاع الذات.__صنع #طريقة الضبط للتصنيع def set_make(self, make): self.__make = make
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

يقوم هذا بتغليف سمة الصنع، مما يضمن عدم إمكانية الوصول إليها مباشرة من خارج الفصل، وبالتالي توفير تغليف وتحكم أفضل في السمة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/marlonmunoz/python-oop-beginners-edition-4ph5?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3