Kata kunci this
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 5 dari 110.
Kata kunci this merujuk pada instance class saat ini. Di dalam method, this memungkinkan kamu mengakses variabel milik object itu sendiri.
Berikut contoh class dengan method yang menggunakan this:
class Car {
String color = '';
String model = '';
void honk() {
print('Beep beep!');
}
void describe() {
print('I am a ${this.color} ${this.model}');
}
}Di dalam describe(), this.color dan this.model merujuk pada variabel milik object tertentu tersebut.
Buat object mobil dan atur variabelnya:
Car myCar = Car();
myCar.color = 'Red';
myCar.model = 'Sedan';Panggil method:
myCar.honk();
myCar.describe();Output:
Beep beep!
I am a Red Sedanthis sangat berguna ketika parameter method memiliki nama yang sama dengan variabel instance:
class Car {
String color = '';
void setColor(String color) {
this.color = color; // this.color = variabel instance, color = parameter
}
}Tanpa this, Dart tidak akan tahu apakah color merujuk pada parameter atau variabel instance. Poin penting: this selalu merujuk pada object tertentu yang sedang memanggil method.
Tantangan
MudahLengkapi class Car di car.dart dengan menambahkan method bernama displayInfo yang menggunakan kata kunci this untuk mencetak tahun, merek, dan model mobil dengan format:
'This car is a [year] [make] [model]'
car.dart: Berisi classCar, tempat kamu akan menambahkan methoddisplayInfodriver.dart: Mengatur variabel pada object mobil dan memanggildisplayInfo()(terkunci)
Coba sendiri
import 'car.dart';
void main() {
Car myCar = Car();
myCar.year = '2020';
myCar.make = 'Toyota';
myCar.model = 'Corolla';
myCar.displayInfo();
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
file Eksternallibrary dan ImporPengantar OOPClass dan ObjectKata kunci thismethodVariabel InstanceDasar-Dasar ConstructorRingkasan: Kalkulator Sederhana4Keamanan Null
Pengantar Keamanan NullBisa Null vs Tidak Bisa NullOperator ? dan !Kata Kunci late dan Keamanan NullOperator Penanganan NullKeamanan Null dalam classRangkuman: Sistem Profil Pengguna7class Abstrak & Antarmuka
class AbstrakMethod abstrakAntarmuka di DartAntarmuka ImplisitMengimplementasikan vs MemperluasBeberapa AntarmukaRingkasan: Kalkulator Bentuk10Koleksi dan Generik
Gambaran Umum list, set, dan MapKoleksi dengan Tipe AmanKelas GenerikMetode GenerikBatasan GenerikIterable dan IteratorUlasan: Penyimpanan Generik2Konstruktor dalam Dart
Konstruktor DefaultKonstruktor BernamaInitializer ListsKonstruktor KonstanKonstruktor FactoryKonstruktor RedirectingRangkuman, Pembuat Bentuk5Enkapsulasi
Member Publik vs PrivatKonvensi Prefiks _Privasi Tingkat libraryPendalaman Getter & SetterPenyembunyian InformasiRingkasan: Catatan Siswa8Mixin
Pengantar MixinMembuat MixinMenggunakan Beberapa MixinKata Kunci on pada MixinMixin vs. PewarisanMixin vs. InterfaceRangkuman: Sistem Hewan3Property Class
Anggota Instance vs StaticField Final dan ConstVariabel LateMethod dan Field StaticGetter dan SetterRangkuman: Pengelola Rekening Bank6Pewarisan
Pewarisan DasarKata Kunci superPenimpaan methodAnotasi @overrideKata Kunci class finalKonstruktor dan PewarisanRangkuman, Hierarki Karyawan9Polimorfisme
Dasar-Dasar PolimorfismePolimorfisme melalui AntarmukaPemeriksaan Tipe saat RuntimeOperator is & asKata Kunci KovarianRangkuman: Pemroses PembayaranLatihan sendiri: Compiler Dart online