Menu
CoddyTech

הגדרת מחלקות

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Swift של Coddy. שיעור 2 מתוך 57.

מחלקה מתארת סוג של אובייקט: את הנתונים שכל אובייקט מכיל ואת הדברים שהוא יכול לעשות. class Dog { ... } מגדירה את הטיפוס, ו-Dog() יוצרת אובייקט מהטיפוס הזה, שנקרא גם מופע:

class Dog {
    var name = "Rex"
    var age = 3
}

let dog = Dog()
print(dog.name)
print(dog.age)

פלט:

Rex
3

המשתנים בתוך מחלקה הם המאפיינים שלה. לכל מופע יש עותק משלו, שקוראים ומשנים באמצעות נקודה:

class Dog {
    var name = "Rex"
    var age = 3
}

let first = Dog()
let second = Dog()
second.name = "Bella"
print(first.name)
print(second.name)

פלט:

Rex
Bella

פונקציה בתוך מחלקה היא מתודה. מתודה יכולה לקרוא את המאפיינים של המופע שעליו היא נקראת ולשנות אותם:

class Counter {
    var count = 0

    func increment() {
        count += 1
    }

    func report() -> String {
        "count is \(count)"
    }
}

let clicks = Counter()
clicks.increment()
clicks.increment()
print(clicks.report())

פלט:

count is 2

שמות טיפוסים נכתבים ב־UpperCamelCase (BankAccount); מאפיינים ומתודות נכתבים ב־lowerCamelCase (balance, deposit()). הצבת הנתונים והפונקציות שפועלות עליהם בתוך טיפוס אחד היא הרעיון המרכזי של תכנות מונחה עצמים: קוד שמשתמש ב־Counter קורא ל־increment() ולעולם אינו צריך לדעת איך הספירה מאוחסנת.

class BankAccount {
    var balance = 0

    func deposit(_ amount: Int) {
        balance += amount
    }
}
challenge icon

אתגר

קל

השלימו את המתודה describe() של המחלקה Pet. היא מחזירה משפט אחד שנבנה מהמאפיינים: חיית מחמד בשם Rex, מסוג dog, בת 3 מחזירה את Rex is a 3 year old dog.

הקוד שסופק יוצר Pet, מגדיר את המאפיינים שלה מתוך הקלט (שם, מין, גיל) ומדפיס את התוצאה של describe().

הקוד שלכם יופיע ב-Pet.swift. הקובץ main.swift מכיל את קוד הקלט/פלט שסופק ואי אפשר לערוך אותו.

נסו בעצמכם

// קוד הקלט/פלט שסופק: יש להשאיר אותו כפי שהוא
var input: [String] = []
while let line = readLine() { input.append(line) }
let pet = Pet()
pet.name = input[0]
pet.species = input[1]
pet.age = Int(input[2])!
print(pet.describe())
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: Swift אונליין