Menu
Coddy logo textTech

הגדרת מחלקות

חלק מהיחידה תכנות מונחה עצמים במסלול ה-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 אונליין