Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تعريف الحيوان الأليف

جزء من قسم Object Oriented Programming في رحلة Rust على Coddy — الدرس 19 من 61.

challenge icon

التحدي

سهل

مرحباً بك في مشروع الحيوان الأليف الافتراضي (Virtual Pet)! خلال الدروس القليلة القادمة، ستقوم ببناء محاكاة كاملة لحيوان أليف تجمع كل ما تعلمته حول الـ structs، والـ methods، والـ modules، والـ encapsulation.

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

ستقوم بتنظيم الكود الخاص بك عبر ملفين:

  • pet.rs: قم بتعريف Pet struct مع ثلاثة حقول خاصة (private fields): name (String)، و energy (u32)، و hunger (u32). قم بتنفيذ دالة مرتبطة (associated function) عامة باسم new تأخذ اسماً وتنشئ حيواناً أليفاً مع ضبط energy على 100 و hunger على 0. أضف أيضاً طريقة جلب (getter method) عامة باسم name تعيد مرجعاً (reference) لاسم الحيوان الأليف.
  • main.rs: قم بالتصريح عن وحدة pet واستدعاء Pet إلى النطاق (scope). اقرأ اسماً من المدخلات، وأنشئ حيواناً أليفاً جديداً بهذا الاسم، واطبع رسالة ترحيب.

يجب أن تتبع رسالة الترحيب هذا التنسيق:

Welcome, {name}!

على سبيل المثال، إذا كانت المدخلات هي Buddy، يجب أن تكون المخرجات:

Welcome, Buddy!

تذكر أن الـ struct يجب أن يكون عاماً (public) حتى يمكن استخدامه من main.rs، ولكن يجب أن تظل الحقول خاصة (private) — لا يمكن الوصول إليها إلا من خلال الطرق (methods) التي توفرها.

جرّب بنفسك

mod pet;

use pet::Pet;

fn main() {
    let mut name = String::new();
    std::io::stdin().read_line(&mut name).expect("Failed to read line");
    let name = name.trim().to_string();

    // TODO: إنشاء حيوان أليف جديد بالاسم المعطى

    // TODO: طباعة رسالة الترحيب باستخدام دالة الحصول على اسم الحيوان الأليف
    // "Welcome, {name}!" :التنسيق
}

جميع دروس Object Oriented Programming