Rangkuman: Sistem Hewan
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 56 dari 110.
Tantangan
MudahMari kita bangun sistem hewan lengkap yang menggabungkan semua hal yang telah kamu pelajari tentang mixin! Kamu akan membuat class dasar Animal, mixin perilaku yang menggunakan kata kunci on, dan class hewan tertentu yang menggabungkan kemampuan ini dengan berbagai cara.
Kamu akan mengatur kodemu ke dalam tiga file:
animal.dart: Definisikan class dasar yang akan diwarisi semua hewan:- Class
Animaldengan propertyString namedan sebuah konstruktor - Sebuah method
describe()yang mencetak[name] is an animal
- Class
behaviors.dart: Impor file hewan dan buat tiga mixin perilaku, masing-masing dibatasi untukAnimalmenggunakan kata kuncion:- Mixin
Swimmingdengan methodswim()yang mencetak[name] is swimming - Mixin
Flyingdengan methodfly()yang mencetak[name] is flying - Mixin
Walkingdengan methodwalk()yang mencetak[name] is walking
- Mixin
main.dart: Impor kedua file dan buat tiga class hewan yang menggabungkan pewarisan dengan kombinasi mixin yang berbeda:- Class
Duckyang memperluasAnimaldan menggunakan ketiga mixin (Swimming, Flying, Walking) - Class
Fishyang memperluasAnimaldan hanya menggunakan mixinSwimming - Class
Birdyang memperluasAnimaldan menggunakan mixinFlyingdanWalking
- Buat
Duckbernama'Donald', panggildescribe(), laluswim(),fly(), danwalk() - Cetak baris kosong
- Buat
Fishbernama'Nemo', panggildescribe(), laluswim() - Cetak baris kosong
- Buat
Birdbernama'Tweety', panggildescribe(), lalufly()danwalk()
- Class
Setiap mixin dapat mengakses property name karena batasan on Animal, sehingga keamanan tipe tetap terjaga sekaligus memungkinkan komposisi perilaku yang fleksibel.
Output yang diharapkan:
Donald is an animal
Donald is swimming
Donald is flying
Donald is walking
Nemo is an animal
Nemo is swimming
Tweety is an animal
Tweety is flying
Tweety is walkingCoba sendiri
import 'animal.dart';
import 'behaviors.dart';
// TODO: Buat class Duck yang mewarisi Animal dan menggunakan mixin Swimming, Flying, Walking
class Duck {
// TODO: Implementasikan class Duck
}
// TODO: Buat class Fish yang mewarisi Animal dan hanya menggunakan mixin Swimming
class Fish {
// TODO: Implementasikan class Fish
}
// TODO: Buat class Bird yang mewarisi Animal dan menggunakan mixin Flying dan Walking
class Bird {
// TODO: Implementasikan class Bird
}
void main() {
// TODO: Buat Duck bernama 'Donald'
// Panggil describe(), swim(), fly(), walk()
// TODO: Cetak baris kosong
// TODO: Buat Fish bernama 'Nemo'
// Panggil describe(), swim()
// TODO: Cetak baris kosong
// TODO: Buat Bird bernama 'Tweety'
// Panggil describe(), fly(), walk()
}
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