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 oluşturalım. Farklı çalışan türlerinin ortak öznitelikleri paylaştığı, ancak kendilerine özgü davranışlara sahip olduğu bir şirket yapısı oluşturacaksın.

Kodunu dört dosyaya ayıracaksın:

  • Employee.java: Tüm çalışanların ortak olarak kullanacağı temel sınıfı oluştur. Her çalışanın bir adı ve maaşı vardır. Her iki alanı başlatan bir kurucu ve getDetails() adlı, şunu döndüren bir metot ekle: [name] earns $[salary]. Ayrıca şunu yazdıran bir work() metodu ekle: [name] is working.
  • Manager.java: Employee sınıfını genişleten bir sınıf oluştur. Manager nesnelerinde, yönettikleri kişi sayısını belirten ek bir teamSize alanı bulunur. Üst sınıfın başlatılmasını gerçekleştirmek için super kullan. work() metodunu, şunu yazdıracak şekilde geçersiz kıl: [name] is managing a team of [teamSize]. Şunu döndüren getManagerDetails() adlı bir metot ekle: Manager: [name] earns $[salary], Team size: [teamSize].
  • Developer.java: Employee sınıfını genişleten başka bir sınıf oluştur. Developer nesnelerinde, programlama uzmanlıklarını belirten bir language alanı bulunur. Yine üst sınıf kısmı için super kullan. work() metodunu, şunu yazdıracak şekilde geçersiz kıl: [name] is coding in [language]. Şunu döndüren getDeveloperDetails() adlı bir metot ekle: Developer: [name] earns $[salary], Language: [language].
  • Main.java: Her şeyi burada bir araya getir. Beş girdi alacaksın: bir çalışan adı, maaş, manager için ekip büyüklüğü, başka bir ad ve developer için bir programlama dili. Bir Manager ve bir Developer oluştur, ardından her biri için önce kendi özel ayrıntı metodunu, sonra da work() metodunu çağır.

Beş girdiyi şu sırayla alacaksın: manager adı (String), manager maaşı (double), ekip büyüklüğü (int), developer adı (String) ve programlama dili (String). Developer için 75000.0 maaşını kullan.

Tüm maaş değerlerini String.format("%.2f", salary) kullanarak 2 ondalık basamakla biçimlendir. Çıktın toplam dört satır göstermelidir: önce manager'ın ayrıntıları ve çalışma davranışı, ardından developer'ın ayrıntıları 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

Kendi başına pratik yap: Online Java derleyicisi