Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading.Tasks;
- namespace Zad1
- {
- class Pracownik : IComparable , ICloneable
- {
- string imie, nazwisko;
- int staz;
- public Pracownik(string imie, string nazwisko, int staz)
- {
- this.nazwisko = nazwisko;
- this.imie = imie;
- this.staz = staz;
- }
- public override string ToString()
- {
- return $"Pracownik: {imie} {nazwisko} o stażu: {staz}";
- }
- public object Clone()
- {
- return new Pracownik(this.imie,this.nazwisko,this.staz);
- }
- public int CompareTo(object obj)
- {
- if (obj != null && obj is Pracownik)
- if (staz == ((Pracownik) obj).staz)
- return 0;
- if (staz > ((Pracownik) obj).staz) return 1;
- else return -1;
- }
- public virtual string Obowiazki()
- {
- return "Obowiązek: ";
- }
- }
- class Programista : Pracownik
- {
- public Programista(string imie, string nazwisko, int staz) : base(imie,nazwisko,staz)
- {
- }
- public override string Obowiazki()
- {
- return base.Obowiazki() + $"Programista. ";
- }
- }
- class Kierownik : Pracownik
- {
- public Kierownik(string imie, string nazwisko, int staz) : base(imie, nazwisko, staz)
- {
- }
- public override string Obowiazki()
- {
- return base.Obowiazki() + "Kierownik. ";
- }
- }
- class Firma : IComparable , ICloneable
- {
- string nazwa;
- List<Pracownik> pracownicy;
- public Firma(string nazwa, List<Pracownik> pracownicy)
- {
- this.nazwa = nazwa;
- this.pracownicy = pracownicy;
- }
- public override string ToString()
- {
- string temp = "";
- foreach (var VARIABLE in pracownicy)
- {
- temp += " " + VARIABLE.ToString();
- }
- return $"Firma: {nazwa} ma pracowników: {temp}. ";
- }
- public object Clone()
- {
- return new Firma(this.nazwa, this.pracownicy);
- }
- public int CompareTo(object obj)
- {
- if (obj != null && obj is Firma)
- if (pracownicy.Count == ((Firma) obj).pracownicy.Count)
- return 0;
- if (pracownicy.Count > ((Firma) obj).pracownicy.Count) return 1;
- else return -1;
- }
- public void DodajPracownika(Pracownik t)
- {
- if (t != null) pracownicy.Add(t);
- }
- public void UsunPracownika(Pracownik t)
- {
- if (t != null)
- {
- if (pracownicy.Contains(t)) pracownicy.Remove(t);
- }
- }
- public Pracownik this[int i]
- {
- get { return pracownicy[i]; }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement