شعار زيفيرنت

فهم أساليب Getter وSetter في بايثون

التاريخ:

فهم أساليب Getter وSetter في بايثون

في البرمجة الموجهة للكائنات، يعد التغليف مفهومًا أساسيًا يسمح لنا بإخفاء تفاصيل التنفيذ الداخلي للفئة وتوفير وصول متحكم فيه إلى سماتها. إحدى طرق تحقيق التغليف هي استخدام أساليب getter وsetter. في هذه المقالة، سنستكشف ما هي طرق getter وsetter، وسبب أهميتها، وكيفية استخدامها في Python.

ما هي طرق Getter وSetter؟
تعد أساليب Getter وSetter، المعروفة أيضًا باسم Accessors وMutors، أساليب خاصة تُستخدم لاسترداد وتعديل قيم السمات الخاصة في الفصل الدراسي. إنها توفر طريقة للتحكم في الوصول إلى هذه السمات والتأكد من أن أي تعديلات يتم إجراؤها عليها تتبع قواعد أو قيود معينة.

تُستخدم أساليب Getter، كما يوحي الاسم، للحصول على قيمة سمة خاصة أو استردادها. عادةً ما يكون لديهم اصطلاح تسمية "get_attribute_name" ويقومون بإرجاع قيمة السمة.

من ناحية أخرى، يتم استخدام أساليب الضبط لتعيين أو تعديل قيمة السمة الخاصة. عادةً ما يكون لديهم اصطلاح تسمية "set_attribute_name" ويأخذون وسيطة تمثل القيمة الجديدة للسمة.

ما أهمية طرق Getter وSetter؟
تلعب أساليب Getter وSetter دورًا حاسمًا في الحفاظ على تكامل البيانات وتوفير الوصول المتحكم فيه إلى سمات الفئة. فيما يلي بعض الأسباب التي تجعلها مهمة:

1. التغليف: من خلال جعل السمات خاصة وتوفير أساليب getter وsetter، يمكننا إخفاء تفاصيل التنفيذ الداخلي للفئة. يمنع هذا الوصول المباشر إلى السمات من خارج الفصل ويسمح لنا بتغيير التنفيذ دون التأثير على أجزاء أخرى من الكود.

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

3. المرونة: توفر أساليب Getter وSetter مستوى من المرونة في كيفية تعاملنا مع الوصول إلى السمات. يمكننا إضافة منطق إضافي أو إجراء عمليات حسابية ضمن أساليب getter أو setter. على سبيل المثال، إذا كانت لدينا سمة تمثل طول الشخص بالسنتيمتر، فيمكننا توفير طريقة getter لتحويل الارتفاع إلى القدمين والبوصات لتسهيل القراءة.

كيفية استخدام أساليب Getter وSetter في بايثون؟
في بايثون، يمكننا تنفيذ أساليب getter وsetter باستخدام ديكور الخاصية. يسمح لنا مصمم الخاصية بتعريف الطريقة كأداة الحصول أو الضبط أو الحذف لسمة معينة. هنا مثال:

"الثعبان
شخص فئة:
def __init __ (الذات ، الاسم):
self._name = name

@ملكية
الاسم التعريفي (النفس):
إرجاع الذات._name

@name.setter
الاسم التعريفي (الذات، القيمة):
self._name = القيمة

شخص = شخص ("جون")
طباعة (اسم الشخص) # الإخراج: جون

اسم الشخص = "جين"
طباعة (اسم الشخص) # الإخراج: جين
"`

في المثال أعلاه، قمنا بتعريف فئة تسمى "Person" مع سمة خاصة "_name". نقوم بعد ذلك بتعريف طريقة getter باستخدام مُزخرف الخاصية وصيغة "@property". يتيح لنا ذلك الوصول إلى السمة باستخدام تدوين النقطة دون استدعاء طريقة getter بشكل صريح.

وبالمثل، نحدد طريقة الضبط باستخدام بناء جملة "@name.setter". يتيح لنا ذلك تعيين قيمة جديدة للسمة باستخدام عامل التعيين.

وفي الختام
تعد أساليب Getter وSetter أدوات أساسية في البرمجة الموجهة للكائنات لتحقيق التغليف والحفاظ على سلامة البيانات. إنها توفر وصولاً متحكمًا إلى السمات الخاصة وتسمح لنا بإضافة التحقق من الصحة أو المنطق الإضافي عند استرداد هذه السمات أو تعديلها. من خلال فهم واستخدام أساليب getter وsetter في Python، يمكننا كتابة تعليمات برمجية أكثر قوة وقابلة للصيانة.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة