Menu
CoddyTech

Rangkuman: Hierarki Karyawan

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 27 dari 87.

challenge icon

Tantangan

Mudah

Mari bangun sistem hierarki karyawan lengkap yang menggabungkan semua konsep pewarisan dari bab ini. Kamu akan membuat struktur perusahaan tempat berbagai jenis karyawan memiliki atribut umum, tetapi juga memiliki perilaku khusus masing-masing.

Kamu akan mengatur kodemu dalam empat file:

  • Employee.java: Buat class dasar yang digunakan oleh semua karyawan. Setiap karyawan memiliki nama dan gaji. Sertakan constructor yang menginisialisasi kedua field dan method getDetails() yang mengembalikan: [name] earns $[salary]. Tambahkan juga method work() yang mencetak: [name] is working.
  • Manager.java: Buat class yang mewarisi Employee. Manager memiliki field tambahan teamSize yang menunjukkan jumlah orang yang mereka kelola. Gunakan super untuk menangani inisialisasi parent. Override method work() agar mencetak: [name] is managing a team of [teamSize]. Tambahkan method getManagerDetails() yang mengembalikan: Manager: [name] earns $[salary], Team size: [teamSize].
  • Developer.java: Buat class lain yang mewarisi Employee. Developer memiliki field language untuk spesialisasi pemrograman mereka. Sekali lagi, gunakan super untuk bagian parent. Override work() agar mencetak: [name] is coding in [language]. Tambahkan method getDeveloperDetails() yang mengembalikan: Developer: [name] earns $[salary], Language: [language].
  • Main.java: Satukan semuanya di sini. Kamu akan menerima lima input: nama karyawan, gaji, ukuran tim manager, nama lain, dan bahasa pemrograman developer. Buat Manager dan Developer, lalu untuk masing-masing, panggil method detail khusus mereka, diikuti method work().

Kamu akan menerima lima input dengan urutan berikut: nama manager (String), gaji manager (double), ukuran tim (int), nama developer (String), dan bahasa pemrograman (String). Gunakan gaji 75000.0 untuk developer.

Format semua nilai gaji dengan 2 angka desimal menggunakan String.format("%.2f", salary). Output-mu harus berisi tepat empat baris: detail dan perilaku kerja manager, lalu detail dan perilaku kerja developer.

Coba sendiri

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Baca input
        String managerName = scanner.nextLine();
        double managerSalary = scanner.nextDouble();
        int teamSize = scanner.nextInt();
        scanner.nextLine(); // lewati karakter baris baru
        String developerName = scanner.nextLine();
        String language = scanner.nextLine();
        
        // Gaji Developer tetap sebesar 75000.0
        double developerSalary = 75000.0;
        
        // TODO: Buat object Manager dengan managerName, managerSalary, dan teamSize
        
        // TODO: Buat object Developer dengan developerName, developerSalary, dan language
        
        // TODO: Cetak detail manager menggunakan getManagerDetails()
        
        // TODO: Panggil method work() milik manager
        
        // TODO: Cetak detail developer menggunakan getDeveloperDetails()
        
        // TODO: Panggil method work() milik developer
    }
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Java online