Menu
CoddyTech

Mendefinisikan Class

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Swift di Coddy. Pelajaran 2 dari 57.

Sebuah class menjelaskan jenis object: data yang dimiliki setiap object dan hal yang dapat dilakukannya. class Dog { ... } mendeklarasikan tipe, dan Dog() membuat object dengan tipe tersebut, yang juga disebut instans:

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

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

Output:

Rex
3

Variabel di dalam class disebut property. Setiap instance memiliki salinannya sendiri, yang dibaca dan diubah dengan titik:

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

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

Output:

Rex
Bella

Fungsi di dalam class disebut method. Method dapat membaca dan mengubah property dari instance yang dipanggilnya:

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())

Output:

count is 2

Nama tipe ditulis dalam UpperCamelCase (BankAccount); property dan method ditulis dalam lowerCamelCase (balance, deposit()). Menyatukan data dan fungsi yang bekerja pada data tersebut ke dalam satu tipe adalah gagasan inti pemrograman berorientasi objek: kode yang menggunakan Counter memanggil increment() dan tidak perlu mengetahui cara penyimpanan jumlahnya.

class BankAccount {
    var balance = 0

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

Tantangan

Mudah

Lengkapi method describe() dari class Pet. Method ini mengembalikan satu kalimat yang dibuat dari property: hewan peliharaan bernama Rex, spesies dog, usia 3 menghasilkan Rex is a 3 year old dog.

Kode yang disediakan membuat Pet, mengatur property-nya dari input (nama, spesies, usia), lalu mencetak hasil describe().

Tuliskan kodemu di Pet.swift. main.swift berisi kode input/output yang disediakan dan tidak dapat diedit.

Coba sendiri

// Kode input/output yang disediakan: biarkan apa adanya
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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Playground Swift