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
3Variabel 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
BellaFungsi 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 2Nama 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
}
}Tantangan
MudahLengkapi 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())
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Class dan Object
Bekerja dengan FileMendefinisikan ClassMethod dan selfInitializerClass adalah ReferensiUlasan: Kartu Perpustakaan4Enkapsulasi
Kontrol AksesHanya Bisa Dibaca dari LuarMelindungi StateInitializer yang Bisa GagalRangkuman: Rekening Bank7Polimorfisme dan Generik
PolimorfismeKonversi TipeFungsi GenerikTipe GenerikRangkuman: Kalkulator Bentuk2Struct dan Tipe Nilai
StructSemantik NilaiMethod yang Mengubah NilaiStruct atau classRangkuman, Item Inventaris11Proyek: Manajemen Perpustakaan
Buku dan AnggotaPeminjaman BukuLatihan sendiri: Playground Swift