Bu eğitimde, C# dilinde bir fabrika çalışanını temsil eden ve çalışanların maaşlarını hesaplayan bir "Employee" sınıfı geliştireceğiz. Sınıf, çalışanlara ait bilgileri tutar ve çeşitli metotlar aracılığıyla maaş, vergi, bonus ve zam hesaplamaları yapar. Bu çözüm, Nesne Yönelimli Programlama (OOP) ilkelerine dayanır ve aşağıdaki özellikleri içerir.
"Employee" sınıfı, aşağıdaki dört temel niteliği içerir:
"Employee" sınıfı, aşağıdaki beş temel metodu içerir:
using System; class Employee { // Sınıf Nitelikleri public string Name; // Çalışanın adı ve soyadı public double Salary; // Çalışanın maaşı public int WorkHours; // Haftalık çalışma saati public int HireYear; // İşe başlangıç yılı // Kurucu Metot public Employee(string name, double salary, int workHours, int hireYear) { Name = name; Salary = salary; WorkHours = workHours; HireYear = hireYear; } // Vergi Hesaplama Metodu public double Tax() { if (Salary > 1000) { return Salary * 0.03; // Maaşın %3'ü kadar vergi } return 0; // 1000 TL'den az maaş için vergi yok } // Bonus Hesaplama Metodu public double Bonus() { if (WorkHours > 40) { return (WorkHours - 40) * 30; // Fazla her saat için 30 TL } return 0; // 40 saatten az çalışmada bonus yok } // Maaş Artışı Hesaplama Metodu public double RaiseSalary() { int yearsWorked = 2021 - HireYear; // Çalışma yılı if (yearsWorked < 10) { return Salary * 0.05; // %5 zam } else if (yearsWorked >= 10 && yearsWorked < 20) { return Salary * 0.10; // %10 zam } else { return Salary * 0.15; // %15 zam } } // Çalışan Bilgilerini Yazdıran Metot public override string ToString() { double tax = Tax(); double bonus = Bonus(); double raise = RaiseSalary(); double totalSalary = Salary - tax + bonus + raise; return $"Çalışanın Adı: {Name}\n" + $"Maaşı: {Salary} TL\n" + $"Haftalık Çalışma Saati: {WorkHours}\n" + $"İşe Başlangıç Yılı: {HireYear}\n" + $"Vergi: {tax} TL\n" + $"Bonus: {bonus} TL\n" + $"Maaş Zammı: {raise} TL\n" + $"Vergi ve Bonuslar Dahil Maaş: {totalSalary} TL"; } } class Program { static void Main(string[] args) { // Bir çalışan nesnesi oluştur Employee emp = new Employee("Ali Veli", 1200, 45, 2010); // Çalışan bilgilerini ekrana yazdır Console.WriteLine(emp.ToString()); } }
Çalışanın Adı: Ali Veli Maaşı: 1200 TL Haftalık Çalışma Saati: 45 İşe Başlangıç Yılı: 2010 Vergi: 36 TL Bonus: 150 TL Maaş Zammı: 120 TL Vergi ve Bonuslar Dahil Maaş: 1434 TL
Bu "Employee" sınıfı, çalışan maaşlarının hesaplanması için gerekli tüm işlevleri sağlar. Niteliklerin ve metotların net bir şekilde ayrılması, sınıfın modüler ve genişletilebilir olmasını sağlar. İster küçük bir uygulama olsun, isterse büyük bir projede kullanılsın, bu tür sınıf tasarımı, işlevselliği artırır ve kodun bakımını kolaylaştırır.