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، ويضبط خصائصه من الإدخال (name, species, age)، ثم يطبع نتيجة 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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: Playground لـ Swift