Menu
CoddyTech

Rangkuman, Hierarki Karyawan

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 42 dari 110.

challenge icon

Tantangan

Mudah

Mari 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 Employee dengan property String name, double salary, dan int id. Sertakan constructor dan method getDetails() yang mengembalikan '[name] (ID: [id]) - Salary: $[salary]'
    • Class Manager yang memperluas Employee dan menambahkan property int teamSize. Gunakan parameter super untuk field yang diwarisi. Override getDetails() agar mengembalikan detail dari parent, diikuti ', Team: [teamSize] members'
    • Class Developer yang memperluas Employee dan menambahkan property String language. Override getDetails() agar mengembalikan detail dari parent, diikuti ', Specializes in [language]'
    • Class TeamLead yang memperluas Developer dan menambahkan property int projectCount. Override getDetails() untuk mengembangkan versi milik Developer dengan menambahkan ', Leading [projectCount] projects'
  • main.dart: Impor file karyawanmu dan buat instance dari setiap tipe karyawan:
    • Buat Employee dengan nama 'Alice', gaji 50000.0, dan id 101
    • Buat Manager dengan nama 'Bob', gaji 75000.0, id 102, dan teamSize 8
    • Buat Developer dengan nama 'Carol', gaji 65000.0, id 103, dan bahasa 'Dart'
    • Buat TeamLead dengan nama 'David', gaji 80000.0, id 104, bahasa 'Python', dan projectCount 3
    • Cetak hasil pemanggilan getDetails() pada setiap karyawan, satu per baris

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 projects

Coba 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

Latihan sendiri: Compiler Dart online