האכלת חיית המחמד
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Rust של Coddy. שיעור 20 מתוך 61.
אתגר
קלעכשיו, כשחיית המחמד שלך קיימת, הגיע הזמן לתת לה את היכולת לאכול! בשלב הזה תוסיף מתודה בשם feed שתאפשר לך לדאוג לרעב של חיית המחמד שלך.
בהתבסס על המודול pet.rs שכבר יצרת, הוסף מתודה בשם feed שמפחיתה את רמת הרעב של חיית המחמד. כשמאכילים אותה, הרעב שלה אמור לרדת ב-30, אך לעולם לא לרדת מתחת ל-0. לאחר ההאכלה, המתודה אמורה להציג הודעה המציינת שחיית המחמד נהנתה מהארוחה.
תצטרך גם מתודת getter בשם hunger, כדי שתוכל לבדוק את רמת הרעב של חיית המחמד מחוץ למודול.
בקובץ main.rs, תקרא את שם חיית המחמד ואת ערך הרעב ההתחלתי שלה. צור את חיית המחמד, קבע את הרעב ההתחלתי שלה, האכל אותה פעם אחת, ואז הצג את רמת הרעב המעודכנת.
הפלט אמור להיות בפורמט הבא:
{name} enjoyed the meal!
Hunger: {hunger_level}לדוגמה, אם הקלט הוא:
Buddy
50הפלט אמור להיות:
Buddy enjoyed the meal!
Hunger: 20ואם הרעב מתחיל ב-20, ההאכלה תוריד אותו ל-0 (לא לערך שלילי):
Buddy enjoyed the meal!
Hunger: 0תצטרך להוסיף מתודה בשם set_hunger כדי לאתחל את הרעב לצורכי בדיקה, מכיוון שהבנאי new מגדיר את הרעב ל-0 כברירת מחדל.
נסו בעצמכם
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();
let my_pet = Pet::new(name);
println!("Pet name: {}", my_pet.name());
}כל השיעורים ביחידה תכנות מונחה עצמים
1מתודות והתנהגות
מבוא לבלוקי מימושהפרמטר selfמתודות ניתנות לשינויפונקציות משויכותבלוקי מימוש מרוביםשרשור מתודותסיכום – פעולות מלבן4פרויקט: חיית מחמד וירטואלית
הגדרת חיית המחמדהאכלת חיית המחמדתרגלו בעצמכם: קומפיילר Rust אונליין