Advertisement
cuniszkiewicz

WorkerClasss

Mar 15th, 2023
434
0
24 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.56 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace abstractClass_06_06_2017
  8. {
  9.     class Program
  10.     {
  11.         interface IWorker
  12.         {
  13.             string Name { get; set; }
  14.             string Surname { get; set; }
  15.             void SetSalary(int a);
  16.             void PaySalary();  
  17.         }
  18.         interface IManager
  19.         {
  20.             int ManagerAdd { get; set; }
  21.         }
  22.         abstract class Worker : IWorker
  23.         {
  24.             private string _name;
  25.             private string _surname;
  26.             private int _salary;
  27.  
  28.             public string Name
  29.             {
  30.                 get { return _name; }
  31.                 set { _name = value; }
  32.             }
  33.             public string Surname
  34.             {
  35.                 get { return _surname; }
  36.                 set { _surname = value; }
  37.             }
  38.             public int Salary
  39.             {
  40.                 get { return _salary; }
  41.                 set
  42.                 {
  43.                     if (value > 0)
  44.                         _salary = value;
  45.                     else
  46.                         _salary = 2000;
  47.                 }
  48.             }
  49.  
  50.             public void SetSalary(int p = 2000) { Salary = p; }
  51.             public virtual void PaySalary() { Console.Write("Salary to pay: " + Salary + " zł"); }
  52.  
  53.             protected Worker()
  54.             {
  55.                 SetSalary();
  56.             }
  57.         }
  58.  
  59.         class Manager : Worker, IWorker, IManager
  60.         {
  61.             private int _managerAdd;
  62.             private int _monthlyBonus;
  63.             public int ManagerAdd
  64.             {
  65.                 get { return _managerAdd; }
  66.                 set
  67.                 {
  68.                     if (value > 0)
  69.                         _managerAdd = value;
  70.                     else
  71.                         _managerAdd = 2000;
  72.                 }
  73.             }
  74.             public int MonthlyBonus
  75.             {
  76.                 get { return _monthlyBonus; }
  77.                 set
  78.                 {
  79.                     if (value > 0)
  80.                         _monthlyBonus = value;
  81.                     else
  82.                         _monthlyBonus = 1000;
  83.                 }
  84.             }
  85.             public override void PaySalary()
  86.             {
  87.                 Console.WriteLine("Salary to pay: " + (Salary + ManagerAdd + MonthlyBonus) + " zł");
  88.             }
  89.             public Manager()
  90.             {
  91.                 ManagerAdd = 2000;
  92.                 MonthlyBonus = 1000;
  93.             }
  94.  
  95.         }
  96.  
  97.         class Seller : Worker
  98.         {
  99.             private int _monthlyBonus;
  100.             public int MonthlyBonus
  101.             {
  102.                 get { return _monthlyBonus; }
  103.                 set
  104.                 {
  105.                     if (value > 0)
  106.                         _monthlyBonus = value;
  107.                     else
  108.                         _monthlyBonus = 500;
  109.                 }
  110.             }
  111.             public override void PaySalary()
  112.             {
  113.                 base.PaySalary();
  114.                 Console.Write($" and additional {MonthlyBonus} zł monthly bonus");
  115.             }
  116.             public Seller()
  117.             {
  118.                 MonthlyBonus = 500;
  119.             }
  120.         }
  121.  
  122.         static void Main(string[] args)
  123.         {
  124.             Manager manager = new Manager();
  125.             manager.PaySalary();
  126.             Seller seller = new Seller();
  127.             seller.PaySalary();
  128.  
  129.            
  130.            
  131.  
  132.             Console.ReadKey();
  133.         }
  134.     }
  135. }
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement