Rangkuman, Hierarki Karyawan
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 42 dari 110.
Tantangan
MudahMari kita bangun sistem hierarki karyawan lengkap yang menggabungkan semua konsep pewarisan dari bab ini. Kamu akan membuat class dasar karyawan dan memperluasnya dengan peran khusus, masing-masing dengan perilaku uniknya sendiri.
Kamu akan mengatur kodemu ke dalam dua file:
employee.dart: Definisikan hierarki karyawanmu di sini:- Class dasar
Employeedengan propertyString name,double salary, danint id. Sertakan constructor dan methodgetDetails()yang mengembalikan'[name] (ID: [id]) - Salary: $[salary]' - Class
Manageryang memperluasEmployeedan menambahkan propertyint teamSize. Gunakan parameter super untuk field yang diwarisi. OverridegetDetails()agar mengembalikan detail dari parent, diikuti', Team: [teamSize] members' - Class
Developeryang memperluasEmployeedan menambahkan propertyString language. OverridegetDetails()agar mengembalikan detail dari parent, diikuti', Specializes in [language]' - Class
TeamLeadyang memperluasDeveloperdan menambahkan propertyint projectCount. OverridegetDetails()untuk mengembangkan versi milikDeveloperdengan menambahkan', Leading [projectCount] projects'
- Class dasar
main.dart: Impor file karyawanmu dan buat instance dari setiap tipe karyawan:- Buat
Employeedengan nama'Alice', gaji50000.0, dan id101 - Buat
Managerdengan nama'Bob', gaji75000.0, id102, dan teamSize8 - Buat
Developerdengan nama'Carol', gaji65000.0, id103, dan bahasa'Dart' - Buat
TeamLeaddengan nama'David', gaji80000.0, id104, bahasa'Python', dan projectCount3 - Cetak hasil pemanggilan
getDetails()pada setiap karyawan, satu per baris
- Buat
Perhatikan bagaimana TeamLead menunjukkan pewarisan bertingkat, yaitu memperluas Developer, yang memperluas Employee. Setiap tingkat menambahkan detailnya sendiri sambil mempertahankan informasi dari class parent menggunakan super.
Output yang diharapkan:
Alice (ID: 101) - Salary: $50000.0
Bob (ID: 102) - Salary: $75000.0, Team: 8 members
Carol (ID: 103) - Salary: $65000.0, Specializes in Dart
David (ID: 104) - Salary: $80000.0, Specializes in Python, Leading 3 projectsCoba sendiri
import 'employee.dart';
void main() {
// TODO: Buat Employee dengan name 'Alice', salary 50000.0, dan id 101
// TODO: Buat Manager dengan name 'Bob', salary 75000.0, id 102, dan teamSize 8
// TODO: Buat Developer dengan name 'Carol', salary 65000.0, id 103, dan language 'Dart'
// TODO: Buat TeamLead dengan name 'David', salary 80000.0, id 104, language 'Python', dan projectCount 3
// TODO: Cetak hasil getDetails() untuk setiap karyawan, satu per baris
}
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