Menu
Coddy logo textTech

Özet - Çalışan Hiyerarşisi

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 27 / 87.

challenge icon

Görev

Kolay

Bu bölümdeki tüm kalıtım kavramlarını bir araya getiren eksiksiz bir çalışan hiyerarşisi sistemi kuralım. Farklı çalışan türlerinin ortak nitelikleri paylaştığı ancak kendilerine özgü uzmanlaşmış davranışlara sahip olduğu bir şirket yapısı oluşturacaksınız.

Kodunuzu dört dosya halinde düzenleyeceksiniz:

  • Employee.java: Tüm çalışanların paylaştığı temel sınıfı oluşturun. Her çalışanın bir adı (name) ve maaşı (salary) vardır. Her iki alanı da başlatan bir yapıcı (constructor) ve şu sonucu döndüren bir getDetails() metodu ekleyin: [name] earns $[salary]. Ayrıca şu çıktıyı veren bir work() metodu ekleyin: [name] is working.
  • Manager.java: Employee sınıfını genişleten bir sınıf oluşturun. Yöneticilerin, kaç kişiyi yönettiklerini temsil eden ek bir teamSize alanı vardır. Üst sınıfın başlatılmasını yönetmek için super kullanın. work() metodunu şu çıktıyı verecek şekilde geçersiz kılın (override): [name] is managing a team of [teamSize]. Şu sonucu döndüren bir getManagerDetails() metodu ekleyin: Manager: [name] earns $[salary], Team size: [teamSize].
  • Developer.java: Employee sınıfını genişleten başka bir sınıf oluşturun. Geliştiricilerin programlama uzmanlıkları için bir language alanı vardır. Yine, üst sınıf kısmı için super kullanın. work() metodunu şu çıktıyı verecek şekilde geçersiz kılın: [name] is coding in [language]. Şu sonucu döndüren bir getDeveloperDetails() metodu ekleyin: Developer: [name] earns $[salary], Language: [language].
  • Main.java: Burada her şeyi bir araya getirin. Beş girdi alacaksınız: bir çalışan adı, maaş, yönetici için ekip boyutu, başka bir ad ve geliştirici için bir programlama dili. Bir Manager ve bir Developer oluşturun, ardından her biri için önce uzmanlaşmış detay metodunu, ardından work() metodunu çağırın.

Şu sırayla beş girdi alacaksınız: yönetici adı (String), yönetici maaşı (double), ekip boyutu (int), geliştirici adı (String) ve programlama dili (String). Geliştirici için 75000.0 maaşını kullanın.

Tüm maaş değerlerini String.format("%.2f", salary) kullanarak 2 ondalık basamakla biçimlendirin. Çıktınız toplam dört satır olmalıdır - yöneticinin detayları ve çalışma davranışı, ardından geliştiricinin detayları ve çalışma davranışı.

Kendin dene

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Girdileri oku
        String managerName = scanner.nextLine();
        double managerSalary = scanner.nextDouble();
        int teamSize = scanner.nextInt();
        scanner.nextLine(); // yeni satırı tüket
        String developerName = scanner.nextLine();
        String language = scanner.nextLine();
        
        // Developer maaşı 75000.0 olarak sabitlenmiştir
        double developerSalary = 75000.0;
        
        // TODO: managerName, managerSalary ve teamSize ile bir Manager nesnesi oluşturun
        
        // TODO: developerName, developerSalary ve language ile bir Developer nesnesi oluşturun
        
        // TODO: getManagerDetails() kullanarak yöneticinin detaylarını yazdırın
        
        // TODO: Yöneticinin work() metodunu çağırın
        
        // TODO: getDeveloperDetails() kullanarak geliştiricinin detaylarını yazdırın
        
        // TODO: Geliştiricinin work() metodunu çağırın
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler