الانتقال إلى المحتوى الرئيسي

كيفية بناء صف فئة من المصابيح الكهربائية لتخزين حالة 8 المصابيح الكهربائية

في عالم اليوم ، تلعب الأتمتة دورا كبيرا في حياتنا اليومية. تتمثل إحدى طرق زيادة مستوى الأتمتة في استخدام الفئات والكائنات. في هذه المقالة ، سننظر في كيفية بناء صف من فئة المصابيح الكهربائية لتخزين حالة 8 مصابيح كهربائية.

أولا ، دعونا نحدد ما هي فئة وكائن. الفئة عبارة عن قالب أو وصف لكائن يحدد خصائصه وطرقه. الكائن هو مثيل محدد لفئة يمكنها تخزين حالتها وتنفيذ عمليات معينة.

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

هذا هو ما سيبدو عليه رمز صف فئة المصابيح الكهربائية:

فئة لامبرو:

مواطنه _ _ الحرف الأول__(النفس):

النفس.مصابيح = [كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة]

تعيين مواطن_المصباح_الدولة (النفس ، مؤشر ، الدولة):

النفس.مصابيح [مؤشر] = الدولة

ديف جيتلامب_ ستيت (النفس ، مؤشر):

عودة النفس.مصابيح [مؤشر]

…

  1. بناء صف فئة من المصابيح الكهربائية
  2. إنشاء فئة أساسية لتخزين الحالة
  3. باستخدام الحرف الأول () طريقة لتهيئة الدولة
  4. تنفيذ طرق لتشغيل وإيقاف المصابيح الكهربائية
  5. إضافة طريقة للتحقق من حالة المصابيح الكهربائية
  6. تطوير طريقة لعرض الحالة الحالية
  7. إضافة طريقة لتغيير حالة مصباح كهربائي معين
  8. تنفيذ طريقة لتغيير حالة جميع المصابيح الكهربائية
  9. إنشاء كائن فئة وطرق الاختبار
  10. سؤال وجواب
  11. كيف يمكنني بناء فئة لتخزين حالة 8 المصابيح الكهربائية?
  12. ما هي المتغيرات التي يجب استخدامها لتخزين حالة كل مصباح كهربائي?
  13. ما هي الطرق التي يمكن استخدامها لتغيير الحالة والتحقق من الحالة الحالية للمصابيح الكهربائية?
  14. كيف يمكنني استخدام الطبقة التي تم إنشاؤها لتخزين حالة 8 المصابيح الكهربائية في برنامجي?

بناء صف فئة من المصابيح الكهربائية

يمكنك استخدام لغة برمجة مثل جافا سكريبت وطرق البرمجة الشيئية لبناء فئة من سلسلة من المصابيح الكهربائية لتخزين حالة 8 المصابيح الكهربائية.

يمكن أن تحتوي فئة سلسلة من المصابيح الكهربائية على الخصائص والطرق التالية:

  1. حالة المصابيح الكهربائية: لتخزين حالة كل لمبة على التوالي ، يمكنك استخدام صفيف حيث سيشير كل فهرس إلى رقم المصباح ، وستقوم القيمة بتخزين حالته (تشغيل/إيقاف).
  2. طريقة التنشيط: لتشغيل مصباح كهربائي معين ، يمكنك إنشاء طريقة من شأنها أن تأخذ عدد المصباح الكهربائي كحجة وتغيير حالته إلى تشغيل.
  3. طريقة إيقاف التشغيل: وبالمثل ، يمكنك إنشاء طريقة من شأنها أن تأخذ عدد من المصباح الكهربائي كوسيطة وتغيير حالته إلى إيقاف.
  4. طريقة التبديل: يمكنك أيضا إضافة طريقة تأخذ رقم المصباح وتغيير حالته إلى العكس (إذا كان المصباح قيد التشغيل ، فقم بتبديله إلى حالة إيقاف التشغيل والعكس صحيح).
  5. طريقة عرض الحالة: لعرض حالة جميع المصابيح في صف واحد،يمكنك إنشاء طريقة من شأنها أن تعود مجموعة مع دول المصابيح.

وبالتالي،فإن بناء فئة من صف من المصابيح الكهربائية باستخدام الخصائص والأساليب المحددة سيسمح لك بإدارة حالة كل لمبة على التوالي بسهولة.

إنشاء فئة أساسية لتخزين الحالة

قبل أن نبدأ في إنشاء فصل لتخزين حالة صف من المصابيح الكهربائية ، دعنا نحدد بعض المفاهيم الأساسية.

الفئة هي قالب يتم من خلاله إنشاء الكائنات. يحدد الخصائص والأساليب التي ستكون موجودة لكل كائن تم إنشاؤه بناء على هذه الفئة.

الحالة هي معلومات أو بيانات يتم تخزينها في كائن ويمكن أن تتغير أثناء تشغيله. في حالتنا ، ستكون هذه هي حالة كل مصباح كهربائي-سواء كان قيد التشغيل أو إيقاف التشغيل.

لذلك ، أولا وقبل كل شيء ، دعونا إنشاء فئة مصباح من شأنها أن تمثل لمبة ضوء واحد.

مصباح فئة {

منشئ () {

هذا.الحالة = خطأ ؛ / / الحالة الأولية متوقفة

}

// طريقة تغيير حالة المصباح الكهربائي

تبديل () {

هذا.الدولة = !هذا.الدولة ؛ / / تغيير الدولة (تشغيل / إيقاف)

}

}

الآن لدينا فئة مصباح يمكنها إنشاء كائنات المصباح الكهربائي وتخزين حالتها. القيمة الافتراضية للحالة هو خارج.

انتبه إلى طريقة التبديل () التي أضفناها إلى الفصل. يسمح لك بتغيير حالة المصباح الكهربائي-في كل مرة يتم فيها استدعاء الطريقة ، ستتغير الحالة إلى العكس (إذا تم إيقاف تشغيل المصباح الكهربائي ، فسيتم تشغيله ، والعكس صحيح).

الآن يمكننا إنشاء كائنات من فئة المصباح والعمل مع حالتها. على سبيل المثال:

مصباح كونست 1 = مصباح جديد () ؛ / / إنشاء المصباح الكهربائي الأول

مصباح كونست 2 = مصباح جديد (); // إنشاء مصباح كهربائي ثان

مصباح1.تبديل () ؛ / / قم بتشغيل المصباح الكهربائي الأول

مصباح2.تبديل () ؛ / / قم بتشغيل المصباح الكهربائي الثاني

وحدة التحكم.سجل (مصباح1.الدولة) ؛ / / صحيح-المصباح الكهربائي الأول قيد التشغيل

وحدة التحكم.سجل (مصباح2.الحالة) ؛ / / صحيح-المصباح الكهربائي الثاني قيد التشغيل

وبالتالي ، يمكننا إنشاء العديد من كائنات المصباح الكهربائي كما نريد ، وتغيير حالتها والحصول على معلومات حول الحالة الحالية لكل مصباح كهربائي.

باستخدام الحرف الأول () طريقة لتهيئة الدولة

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

لتهيئة الدولة:

فئة لامبرو:

ديف _ _ الحرف الأول _ _ (الذات ، الدولة):

النفس.الدولة = الدولة

ديف جيت ستيت (الذات):

عودة النفس.الدولة

def set_state(self, new_state):

self.state = new_state

# Создание объекта класса LampRow с начальным состоянием "00000000"

lamp_row = LampRow("00000000")

# Получение текущего состояния лампочек

state = lamp_row.get_state()

print("Текущее состояние: ", state)

# Изменение состояния лампочек

lamp_row.set_state("11111111")

# Получение нового состояния лампочек

new_state = lamp_row.get_state()

print("Новое состояние: ", new_state)

يحصل على حالة جديدة من المصابيح الكهربائية.

تنفيذ طرق لتشغيل وإيقاف المصابيح الكهربائية

لتنفيذ وظيفة تشغيل وإيقاف المصابيح الكهربائية في فئة عدد من المصابيح الكهربائية ، يمكنك إنشاء طريقتين منفصلتين: "تشغيل" و "إيقاف". ستكون هذه الطرق مسؤولة عن تغيير حالة كل مصباح كهربائي في الصف.

مثال على كود الفصل مع تنفيذ الطريقة:

فئة لامبرو {

منشئ () {

هذا.مصابيح = [كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة]; // صفيف لتخزين حالة كل مصباح كهربائي

}

تمكين (فهرس) {

هذا.مصابيح [فهرس] = صحيح ؛ / / ضبط حالة التشغيل للمصباح المحدد

}

إيقاف (فهرس) {

هذا.مصابيح [فهرس] = خطأ ؛ / / ضبط حالة إيقاف تشغيل المصباح الكهربائي المحدد

}

}

لتشغيل المصباح الكهربائي ، تحتاج إلى استدعاء طريقة "تشغيل" مع نقل مؤشر المصباح الكهربائي ليتم تشغيله. تبدأ الفهرسة من الصفر ، أي أن المصباح الكهربائي الأول في المصفوفة سيكون له فهرس 0.

وبالمثل ، لإيقاف تشغيل المصباح الكهربائي ، تحتاج إلى استدعاء طريقة "إيقاف" مع نقل مؤشر المصباح الكهربائي المحدد. بعد استدعاء الطريقة ، ستتغير حالة المصباح الكهربائي المقابل إلى"إيقاف".

على سبيل المثال:

صف كونست = لامبرو جديد () ؛ / / إنشاء مثيل لمبة ضوء الصف

صف الصف.تشغيل (2) ؛ / / قم بتشغيل المصباح الكهربائي الثالث

صف.إيقاف (5) ؛ / / إيقاف تشغيل المصباح الكهربائي السادس

الآن سيتم تشغيل المصباح الكهربائي الثالث وسيتم إيقاف تشغيل المصباح السادس.

إضافة طريقة للتحقق من حالة المصابيح الكهربائية

للتحكم والتحقق من حالة المصابيح في صف فئة المصابيح ، تحتاج إلى إضافة طريقة ستعيد الحالة الحالية لكل لمبة.

دعونا إضافة طريقة جيتستاتس إلى الطبقة ، والتي سوف تعود مجموعة من الدول المصباح الكهربائي.

هنا هو رمز تنفيذ الطريقة:

"'بايثون

ديف جيتستاتس (ذاتي):

عودة النفس.الدول

«`

طريقة جيتستاتس ببساطة بإرجاع مجموعة من الدول التي تخزن دول المصابيح الكهربائية.

لاستخدام طريقة جيتستاتس ، يمكنك الاتصال به على كائن من فئة صف المصباح الكهربائي:

"'بايثون

لامبرو = لامبرو()

الدول = لامبرو.جيتستاتس()

«`

ستحتوي مجموعة الحالات الناتجة على حالات كل مصباح كهربائي:

"'بايثون

[خطأ ، صحيح ، صحيح ، خطأ ، صحيح ، خطأ ، خطأ ، صحيح]

«`

في هذا المثال ، يتم إيقاف تشغيل المصابيح الكهربائية الأولى والثالثة والرابعة ، والباقي قيد التشغيل.

الآن يمكنك استخدام طريقة جيتستاتس للحصول على الوضع الحالي للمصابيح الكهربائية وإجراء الفحوصات اللازمة في التطبيق الخاص بك.

تطوير طريقة لعرض الحالة الحالية

لعرض الحالة الحالية لعدد من المصابيح في الفصل ، يمكنك تطوير طريقة تعرض حالة كل لمبة بتنسيق مناسب. للقيام بذلك ، يمكنك استخدام والعلامات لتسليط الضوء على المعلومات الأساسية.

قد يبدو مثال على تنفيذ الطريقة كما يلي:

طباعة الفراغ العام () {

النظام.خارج.برينتلن ("الوضع الحالي لصف من المصابيح الكهربائية:");

ل (إنت أنا = 0 ؛ أنا < نومبيروفلامبس ؛ أنا i) {

إذا (مصباح[أنا]) {

النظام.خارج.برينتلن ("المصباح الكهربائي" + (أنا + 1)+": على");

} آخر {

النظام.خارج.برينتلن ("المصباح الكهربائي" + (أنا + 1)+": إيقاف");

}

}

}

يعرض حالة كل المصباح الكهربائي في قائمة مرقمة ، وذلك باستخدام العلامات وتسليط الضوء على" على "و" إيقاف " الدول.

مثال على استخدام الطريقة:

لامبرو لامبرو = لامبرو جديد (8);

لامبرو.توجليلامب (2);

لامبرو.توجليلامب (4);

لامبرو.برينتستات();

نتيجة الإخراج:

  1. المصباح الكهربائي 1: إيقاف
  2. المصباح الكهربائي 2: تشغيل
  3. المصباح الكهربائي 3: إيقاف
  4. المصباح الكهربائي 4: تشغيل
  5. المصباح الكهربائي 5: إيقاف
  6. المصباح الكهربائي 6: إيقاف
  7. المصباح الكهربائي 7: إيقاف
  8. المصباح الكهربائي 8: إيقاف

نحصل على معلومات حول حالة كل مصباح كهربائي على التوالي. يمكن أن يكون هذا مفيدا لتصحيح الأخطاء وتصور الحالة الحالية لعدد من المصابيح الكهربائية.

إضافة طريقة لتغيير حالة مصباح كهربائي معين

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

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

فئة لامبرو {

منشئ () {

هذا.مصابيح = [كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة ، كاذبة];

}

// طريقة تغيير حالة مصباح كهربائي معين

سيتلامبستات (لامبنومبر ، نيوستات) {

هذا.مصابيح [مصباحرقم] = جديدةالدولة;

}

}

).

إلى دولة جديدة.

مثال على استخدام الطريقة:

كونست لامبرو = لامبرو جديد ();

لامبرو.سيتلامبستات (2 ، صحيح);

ويتم نقل رقم المصباح الكهربائي (2) والحالة الجديدة (صحيح). نتيجة لذلك ، تتغير حالة المصباح الكهربائي الثاني في الصف إلى تشغيل.

يسمح لك بتغيير حالة مصباح كهربائي معين في صف من 8 لمبات.

تنفيذ طريقة لتغيير حالة جميع المصابيح الكهربائية

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

قد يبدو مثال على تنفيذ الطريقة كما يلي:

فئة لامبرو:

مواطنه _ _ الحرف الأول__(النفس):

النفس.مصابيح = [كاذبة] * 8

مجموعة مواطن_كل_المصابيح (ذاتي ، دولة جديدة):

النفس.مصابيح = [دولة جديدة] * 8

في هذا المثال ، تحتوي فئة لامبرو على سمة المصابيح ، والتي تمثل سلسلة من المصابيح الكهربائية. في منشئ الفصل ، تتم تهيئة جميع المصابيح الكهربائية في حالة إيقاف التشغيل (خطأ).

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

لاستخدام طريقة سيت_ال_المصابيح ، يمكنك إنشاء كائن من فئة لامبرو واستدعاء هذه الطريقة ، وتمرير الحالة الجديدة كوسيطة:

الصف = لامبرو()

صف.تعيين كل المصابيح (صحيح)

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

وبالتالي ، فإن تنفيذ طريقة تغيير حالة جميع المصابيح يسمح لك بالتحكم بشكل ملائم في حالة جميع المصابيح على التوالي دون الحاجة إلى تغيير كل لمبة يدويا على حدة.

إنشاء كائن فئة وطرق الاختبار

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

أولا ، دعونا إنشاء فئة مصباح من شأنها أن تمثل لمبة ضوء واحد. سيكون لها طريقتان: تمكين وتعطيل. إن تشغيل المصباح الكهربائي يعني أن حالته تصبح قيد التشغيل ، وإيقاف التشغيل.

مصباح فئة {

منشئ () {

هذا.الحالة = خطأ ؛ / / الحالة الأولية

}

على () {

هذا.الدولة = صحيح;

}

إيقاف () {

هذا.الدولة = خطأ;

}

}

الآن دعونا إنشاء فئة لامبرو التي سوف تمثل صف من ثمانية المصابيح الكهربائية. سيكون لها طرق لتشغيل وإيقاف وعكس حالة جميع المصابيح الكهربائية على التوالي.

فئة لامبرو {

منشئ () {

هذا.مصابيح = [] ؛ / / مجموعة لتخزين المصابيح الكهربائية

إلى عن على (دعني = 0 ؛ أنا < 8 ؛ أنا {) {

هذا.مصابيح.دفع (مصباح جديد ()) ؛ / / إنشاء وإضافة مصباح كهربائي جديد

}

}

على () {

هذا.مصابيح.فوريش (مصباح = > مصباح.على ()); // تشغيل جميع المصابيح الكهربائية

}

إيقاف () {

هذا.مصابيح.فوريش (مصباح = > مصباح.إيقاف ()) ؛ / / إيقاف جميع المصابيح الكهربائية

}

عكس () {

هذا.مصابيح.فوريش (مصباح = > {

إذا (مصباح.الدولة) {

مصباح.إيقاف();

} آخر {

مصباح.على ();

}

}) ؛ / / انعكاس حالة جميع المصابيح

}

}

الآن يمكننا إنشاء كائن من فئة لامبرو واختبار أساليبها:

صف كونست = لامبرو جديد();

صف.تشغيل () ؛ / / تشغيل جميع المصابيح

صف.إيقاف () ؛ / / إيقاف جميع

صف المصابيح الكهربائية.عكس () ؛ / / انعكاس حالة جميع المصابيح الكهربائية

وبالتالي ، من خلال إنشاء كائن من فئة لامبرو ، يمكننا التحكم في حالة جميع المصابيح الكهربائية الثمانية. يمكننا تشغيل وإيقاف وعكس حالتها ، مما يسمح لنا بإنشاء سلسلة من المصابيح الكهربائية التي تخزن وتعرض حالات مختلفة.

سؤال وجواب

كيف يمكنني بناء فئة لتخزين حالة 8 المصابيح الكهربائية?

لإنشاء فئة لتخزين حالة 8 المصابيح الكهربائية ، وسوف تحتاج إلى إنشاء فئة من شأنها أن تمثل كل لمبة ضوء ككائن. داخل الفصل ، يمكنك استخدام المتغيرات لتخزين حالة كل لمبة (تشغيل أو إيقاف) ، بالإضافة إلى طرق لتغيير الحالة والتحقق من الحالة الحالية للمصابيح.

ما هي المتغيرات التي يجب استخدامها لتخزين حالة كل مصباح كهربائي?

ستحتاج إلى إنشاء متغيرات لكل مصباح كهربائي لتخزين معلومات حول حالته. على سبيل المثال ، يمكنك استخدام المتغيرات المنطقية ، حيث تعني قيمة "صحيح" أن المصباح الكهربائي قيد التشغيل ، وقيمة "خطأ" تعني أنه مغلق. يجب أن يتوافق عدد هذه المتغيرات مع عدد المصابيح الكهربائية ، في هذه الحالة — 8.

ما هي الطرق التي يمكن استخدامها لتغيير الحالة والتحقق من الحالة الحالية للمصابيح الكهربائية?

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

كيف يمكنني استخدام الطبقة التي تم إنشاؤها لتخزين حالة 8 المصابيح الكهربائية في برنامجي?

لاستخدام الفئة التي تم إنشاؤها ، ستحتاج إلى إنشاء كائن من هذه الفئة في برنامجك. ثم يمكنك استدعاء طرق هذا الكائن للتحكم في حالة كل مصباح كهربائي. على سبيل المثال ، يمكنك استدعاء طريقة "سويتشون" لتشغيل لمبة رقم 3 وطريقة "جيتستات" للتحقق من الوضع الحالي للمصابيح.