Swift 101 - Kelas, Variabel, Properti & Metode

Seperti yang dijanjikan, ini adalah angsuran pertama saya untuk belajar memprogram dalam bahasa Swift baru!

Mendefinisikan Kelas di Swift

Kode berikut menunjukkan contoh definisi kelas Swift:

Untuk mendeklarasikan kelas di Swift, Anda menggunakan kata kunci kelas diikuti dengan nama kelas. Jika memiliki superclass, Anda menambahkan titik dua dan nama superclass. Awal dan akhir kelas ditunjukkan oleh kurung kurawal buka dan tutup.

Di Swift, kelas didefinisikan dalam file kode sumber .swift tunggal dibandingkan dengan Objective-C, di mana kelas didefinisikan dalam dua file terpisah, file header (.h) dan file implementasi (.m).

Mendeklarasikan Variabel

Kode berikut menunjukkan contoh deklarasi variabel:

Anda memulai deklarasi variabel dengan kata kunci var diikuti dengan nama variabel. Selanjutnya, Anda menambahkan titik dua, diikuti oleh tipe variabel. Setelah itu, Anda dapat menetapkan nilai ke variabel menggunakan operator penugasan (=).

Di Swift, jika Anda menetapkan nilai awal ke variabel, Anda tidak perlu menentukan jenis variabel seperti yang ditunjukkan dalam kode berikut:

Anda dapat melakukan ini karena Swift memiliki sesuatu yang disebut inferensi tipe di mana ia dapat mengetahui, atau menyimpulkan tipe variabel berdasarkan nilai yang Anda tetapkan untuk itu.

Di Objective-C Anda bisa mendeklarasikan variabel instan di level kelas dan variabel lokal dalam metode. Di Swift, tidak ada variabel tingkat kelas — hanya variabel lokal yang Anda nyatakan dalam metode. Namun, Anda dapat mendeklarasikan properti di tingkat kelas (lihat bagian Mendeklarasikan Properti di bawah.)

Akhir Asterisk

Di Objective-C Anda menggunakan tanda bintang untuk menunjukkan bahwa variabel menyimpan pointer ke objek. Di Swift, konstanta atau variabel dapat berisi pointer ke alamat di memori (meskipun bukan pointer langsung), tetapi Anda tidak perlu menggunakan tanda bintang dalam konteks ini.

Mendeklarasikan Properti Sederhana

Kode berikut menunjukkan contoh deklarasi properti:

Seperti yang Anda lihat, ini sangat mirip dengan mendeklarasikan variabel, kecuali bahwa Anda mendeklarasikan properti di level kelas daripada di dalam metode.

Seperti halnya variabel, jika Anda menetapkan nilai awal ke properti, Anda tidak harus menentukan jenis properti. Anda juga dapat menginisialisasi properti dari dalam metode inisialisasi (lihat bagian di bawah ini tentang Inisialisasi untuk detail.) Kode berikut ini menunjukkan contoh menyatakan properti tanpa menentukan jenis:

Dalam Objective-C, properti biasanya memiliki variabel contoh dukungan di mana nilai aktual properti disimpan. Swift menyederhanakan properti dengan menyatukan konsep properti dan variabel instan. Properti tidak lagi memiliki variabel contoh dukungan. Segala sesuatu tentang properti dinyatakan dalam satu lokasi.

Di Swift, Anda tidak harus menggunakan kata kunci sendiri untuk merujuk ke properti kecuali metode di mana Anda menulis kode memiliki parameter dengan nama yang sama dengan properti.

Mendeklarasikan Properti yang Dihitung

Swift juga telah menghitung properti yang menghubungkan metode get and set seperti yang ditunjukkan pada kode berikut:

Dalam contoh ini, kelas Thermometer memiliki properti temperatureFahrenheit sederhana dan properti beriklim sedangCelsius.

Perhatikan bahwa metode get dan set kelas Thermometer tidak mereferensikan variabel instan, karena tidak ada yang namanya variabel instan di Swift!

Dalam kasus ini, metode get mengambil nilai dari properti temperatureFahrenheit, mengubahnya menjadi Celcius dan mengembalikan nilainya. Metode set mengambil nilai yang diteruskan ke sana, mengubahnya menjadi Fahrenheit dan kemudian menyimpan hasilnya di properti temperatureFahrenheit .

Nilai yang diteruskan ke metode himpunan properti disimpan dalam parameter bernama bernama newValue . Jika Anda ingin menggunakan nama parameter yang berbeda, Anda dapat menentukan nama dalam tanda kurung setelah ditetapkan seperti yang ditunjukkan dalam kode berikut:

Menentukan nama parameter dapat membuat kode Anda lebih mudah dipahami. Dalam contoh ini, pengaturan nama parameter ke celsiusValue membuatnya lebih jelas bahwa metode yang ditetapkan mengubah nilai dari Celsius ke Fahrenheit.

Metode Mendeklarasikan

Kode berikut berisi contoh deklarasi metode Swift:

Seperti dengan Objective-C, di Swift, Anda mendeklarasikan metode instance antara kurung kurawal buka dan tutup dari kelas yang dimilikinya.

Untuk mendeklarasikan metode, pertama-tama Anda tentukan kata kunci func, diikuti dengan nama metode. Jika metode memiliki parameter, Anda memasukkannya ke dalam tanda kurung. Untuk setiap parameter, Anda menentukan nama parameter diikuti dengan titik dua, diikuti dengan tipenya. Jika metode memiliki nilai kembali, Anda kemudian menambahkan tanda hubung dan lebih besar dari tanda ( -> ) diikuti dengan jenis nilai kembali.

Kode berikut berisi contoh metode yang tidak menerima parameter dan tidak mengembalikan apa pun:

Seperti yang Anda lihat, tanda kurung diperlukan setelah nama metode bahkan jika tidak ada parameter. Metode yang tidak mengembalikan apa pun tidak memerlukan indikator nilai pengembalian ( -> ) setelah tanda kurung.

Metode Penginisialisasi

Kode berikut berisi contoh metode initializer yang digunakan untuk menginisialisasi kelas.

Metode inisialisasi selalu bernama init dan, tidak seperti Objective-C, tidak pernah mengembalikan nilai. Dalam contoh di atas, metode init menerima parameter currentTemperature di mana Anda dapat melewati suhu awal. Nilai ini kemudian disimpan di properti temperatureFahrenheit .

Anda dapat membuat beberapa metode initalizer seperti yang ditunjukkan dalam contoh kode berikut:

Dalam contoh ini, kedua metode tersebut dinamai init, sehingga untuk membuat nama-nama tersebut unik, nama eksternal ditetapkan ke parameter — dari Fahrenheit dan dari Celsius . Ini membuat nama metode lengkap init (fromFahrenheit :) dan init (fromCelsius :) masing-masing.

Perlu dicatat bahwa dalam Swift, metode init tidak diwariskan. Dari perspektif praktis, ini berarti Anda tidak boleh menempatkan kode apa pun dalam metode init yang Anda ingin dapat menimpa dalam subkelas. Jika Anda memiliki kode yang ingin Anda jalankan selama fase init suatu kelas dan ingin dapat menimpa kode itu dalam subkelas, Anda bisa membuat metode terpisah, menempatkan kode inisialisasi dalam metode itu, dan kemudian memanggil metode itu dari init .

Menciptakan Instance of a Class

Berikut adalah contoh cara membuat instance kelas:

Seperti yang Anda lihat, untuk membuat instance kelas, Anda mendeklarasikan variabel untuk menyimpan referensi ke kelas, ketik tanda sama dengan (operator penugasan) dan kemudian nama kelas diikuti oleh tanda kurung.

Kesimpulan

Ini adalah beberapa hal mendasar yang perlu Anda ketahui untuk memulai dengan pemrograman Swift. Dalam posting mendatang saya akan menyelami lebih dalam ke bahasa untuk membantu Anda menjadi mahir dengan sintaks dan struktur baru Swift.