تتيح لنا البرمجة الموجهة للكائنات إنشاء كائنات لها طرقها الخاصة ، مثل الجري.
والسمات.
الخصائص.
إنها طريقة رائعة لإضافة المزيد من الوظائف إلى اللغة وتقليد العالم الحقيقي.
على سبيل المثال ، نستخدم فكرة العمل في شركة ألعاب.
على الرغم من أن Python لم تقدم لنا سوى عدد قليل من أنواع البيانات ، فقد تمكنت من إنشاء شخصية لاعب والآن
رئيسي سعيد لأن شخصية اللاعب هذه يمكن استخدامها في جميع أنحاء اللعبة وكل المبرمجين الآخرين عليهم
القيام به هو تشغيل هذا السطر بالاسم المخصص وعمر الشخصية.
لذلك يسمح لنا OP بكتابة كود قابل للتكرار ، منظم جيدًا وأيضًا فعال في الذاكرة.
حق؟
لأننا نكتب هذا مرة واحدة فقط.
لذلك ، إذا كنت تريد أن تكون مطورًا رائعًا ، فإن OP شيء تحتاج إلى معرفته وتحتاج إلى فهمه لأنه حسنًا ، هذه هي
الطريقة التي تريد بها تنظيم التعليمات البرمجية الخاصة بك.
تفكير أقل إجرائية والتفكير أكثر من حيث الوظيفة.
تجميع البيانات مثل السمات مع طرق لإنشاء هذه الفئة القادرة على محاكاة شيء ما من العالم الحقيقي.
الآن أريد أن أريكم أداة مفيدة هنا.
لقد رأينا ذلك عندما أفعل Player Dot.
يُظهر لي المحرر الخاص بي ما هو متاح لدي من الخصائص بالإضافة إلى المربعات الأرجوانية ، وهي
الطرق المتوفرة لدي.
وعلى الفور ، ترى أن لدي اسمًا وأنني أركض ، ولكن بعد ذلك لدي كل هذه الأسماء الأخرى التي حصلت
عليها افتراضيًا.
الآن هذه كلها طرق Dunder أو السحر ، والتي سندخل فيها.
لكن المفتاح هنا هو أنني إذا قمت بشيء مثل المساعدة ، وهي وظيفة جديدة ربما لم
ترها من قبل ، ودعنا نعلق على ذلك.
إذا قمت بالنقر فوق تشغيل.
أنا في الواقع على ما يرام ، المخطط الكامل للكائن.
إذا فعلت شيئًا مثل القائمة.
وأنا انقر فوق تشغيل.
مرة أخرى ، يظهر المخطط الذي يحتوي عليه.
وهذه طريقة رائعة لمعرفة مخطط الفصل الذي يحتوي عليه بعض أنواع بيانات Python.
الآن ، هذا شيء سوف نعيد النظر فيه لاحقًا.
لكني أريد أن أعود إلى شخصية اللاعب هذه.
الآن ، هنا ، رأينا أننا قادرون على إنشاء سمات.
والسمات هي أجزاء من البيانات الديناميكية.
أي عندما نقوم بإنشاء مثيل لكائن ما ، فسيكون فريدًا بالنسبة لهذا الكائن المحدد مثل الاسم
والعمر.
وكان علينا استخدام هذه الكلمة الأساسية الذاتية للتأكد من أنها ديناميكية.
ومع ذلك ، هناك شيء آخر يسمى سمة كائن الفئة ، وقد يبدو مثل هذا.
لنفترض أن لدينا شخصية اللاعب وكان عليهم ، دعنا نقول ، أن يكونوا أعضاء مدفوعين.
من أجل لعب هذه اللعبة ، يجب أن تكون قد لعبت أو يجب أن تكون قد حصلت على عضوية.
لذلك دعونا نحصل على عضوية تساوي.
حقيقي.
ينسب.
الآن ، على عكس هذا ، ترى أنه على نفس خط طرقنا.
وهذا ما يسمى كائن فئة.
ينسب.
تختلف سمة كائن الفئة ، على عكس سمات الفئة العادية ، لأنها ليست ديناميكية
، إنها ثابتة.
لذلك إذا قمت بالنقر فوق.
قم بتشغيل هنا ونريد التأكد من أننا نطبع شيئًا ما.
لذلك دعونا طباعة لاعب.
وأنا انقر فوق تشغيل.
بينما أحصل على اللاعب ، هذا رائع.
ولكن إذا كنت تفعل عضوية نقطة.
وأنا انقر فوق تشغيل.
انظر إلى ذلك.
سأحصل على هذا يساوي اثنين إذا قمت بعمل لاعب واحد هنا.
كذلك.
وأنا انقر فوق تشغيل.
أنا أصبح صحيحا مرة أخرى.
لذلك تم تعيين العضوية على جميع اللاعبين.
لكن هذا ليس ديناميكيًا.
إنها سمة كائن فئة ، مما يعني أنها سمة فعلية في هذه الفئة.
وهذا شيء نستخدمه عندما لا يكون هناك تغيير.
سيكون هذا صحيحًا وموجودًا لجميع الكائنات ، لذلك لا يمكنك تعديله حقًا.
كل الكائنات التي نقوم بإنشاء مثيل لها ستتمكن من الوصول إليها.
لذلك هذا لا يتغير عبر الحالات.
ويمكننا استخدام هذا هنا أيضًا أو في أي مكان في مخطط الفصل هذا.
في واقع الأمر ، على سبيل المثال ، لنفترض أننا نريد التحقق مما إذا كان.
العضوية موجودة ، لذلك نحن نتحقق مما إذا كانت العضوية صحيحة.
وهو ما يعنيه دائما.
لذلك هذا قليل بعض الشيء ، لكن هنا.
لا أستطيع أن أقول إلا إذا كانت العضوية صحيحة.
ثم سأقوم بتعيين الاسم والعمر.
ولكن لكي نتمكن من الوصول إلى العضوية ، يجب أن أقوم بعضوية النقطة الذاتية لأن تذكر ، تشير الذات
إلى شخصية هذا اللاعب حتى إذا قمت بتشغيل هذا.
كل شيء لا يزال يعمل.
وإذا فعلت لاعب نقطة واحدة الاسم.
هذا لا يزال يعمل.
أو يمكنني الإشارة إلى هذا من خلال شخصية اللاعب الفعلية.
لذا عضوية شخصية اللاعب.
لذلك إذا قمت بالنقر فوق تشغيل هنا.
يعمل هذا أيضًا لأنه سمة كائن فئة.
اذا انا.
إلى أين؟
ربما في المدى.
دعونا نغير هذا.
ليصرخ و.
ويصرخون.
سترغب في الجري.
دعونا نزيل هذا الخط.
سوف تطبع.
سلسلة F تقول اسمي.
وامنحه اسما.
هل تعتقد أن هذا سيعمل؟
دعنا نعطيها محاولة.
دعنا نقول صرخ.
وتأكد من تشغيل هذه الطريقة ثم انقر فوق الصراخ مرة أخرى.
إذا قمت بالنقر فوق تشغيل.
أحصل على اسم طيران غير محدد في السطر 11.
إذا انتقلت إلى السطر 11 هنا ، فلن يتم تعريف الاسم.
لماذا هذا؟
حسنًا ، لأننا لم نستخدم الذات.
لذلك دعونا نفعل اسم النقطة الذاتية.
وإذا قمت بالنقر فوق تشغيل.
ها أنت ذا.
اسمي توم.
اسمي سيندي.
تمام.
رائع.
وأنا قادر على استخدام self لأنني قمت بتمريره هنا كمعامل أول وكل الطرق تتلقى المعلمة الأولى
self حتى نتمكن من استخدامها.
ولكن هل يمكنني فقط عمل اسم نقطة لشخصية اللاعب إذا قمت بالنقر فوق تشغيل.
أحصل على مسرحية جوية ، شخصية ليس لها اسم سمة.
الآن ، لماذا هذا؟
لأن الاسم ليس سمة كائن فئة.
إنها في الواقع ليست خاصية أو سمة من سمات شخصية اللاعب.
لا ، تم تعريفه في دالة الباني ، دالة init الخاصة بنا.
إذن هذا نوع من مسكتك هنا وشيء يجب أن تعتاد عليه.
سمة كائن الفئة هي شيء لا يتغير عبر مثيلات مختلفة مقابل سمة
، أو سمة فئة هي شيء ديناميكي ومخصص لكل كائن فئة.
تختلف طريقة الوصول إليهم حيث يمكننا الوصول إلى عضوية مثل هذه.
ولكن لكي نتمكن من الوصول إلى اسم أو عمر في أي مكان داخل صفنا ، يتعين علينا استخدام اسم الذات.
وهذا هو السبب في أي وقت نقوم فيه بإنشاء طريقة في الفصل ، حتى لو قمت بإنشاء طريقة جديدة هنا ، ولنفترض
أن هذه الطريقة الجديدة سيتم تشغيلها.
حسنًا ، مرة أخرى ، يجب أن أستخدم self كمعامل ثم أي شيء آخر أريد إضافته.
و هنا.
كمعامل ثاني لذلك عند النقر ، دعنا نقول تشغيل.
مررت في.
مرحبًا.
حجة مثل هذا.
أعلم أن هذا كثير ، لكن آمل أن تكون قد بدأت في اتباع قواعد الصفوف.
بمجرد أن تتذكر هذه القواعد ، يصبح الأمر أسهل وأسهل.
لكننا سنتدرب على هذا أكثر قليلاً في الفيديو التالي.