diff --git a/labs04/task02.py b/labs04/task02.py index 88741a4..cd7e693 100644 --- a/labs04/task02.py +++ b/labs04/task02.py @@ -1,3 +1,37 @@ #!/usr/bin/env python2 # -*- coding: utf-8 -*- +""" +**ćwiczenie 2** +Napisz prostą hierarchię klas: + * Klasa bazowa ``Employee``, która będzie zawierać informacje o imieniu i nazwisku pracownika. + Ponadto każdy pracownik otrzyma numer ``id``, który będzie unikatowy. Wykorzystaj do tego atrybut statyczny. + Napisz metodę ``get_id``, która zwraca identyfikator pracownika. + * Klasy pochodna: ``Recruiter``, która ma dodatkową mtodę ``recruit``, która jako parament przyjmuje obiekt ``Employee`` + i zapisuje jego ``id`` w liście ``self.recruited``. + * Klasa pochodna ``Programmer``. Klasa ``Programmer`` ma przyjąć w konstruktorze podstawowe informacje (imię i nazwisko) oraz obiekt rekturera. + Ponadto stwórz atrybut ``recruiter``, który będzie przechowywać ``id`` rekrutera. +""" + +class Employee: + maxid = 0 + def __init__(self, vorname, name): + self.imie = vorname + self.nazwisko = name + Employee.maxid += 1 + self.id = Employee.maxid + + def get_id(self): + return self.id + +class Recruiter(Employee): + def __init__(self, vorname, name): + super().__init__(vorname, name) + self.recruited = list() + def recruit(self, oEmployee): + self.recruited.append(oEmployee.id) + +class Programmer(Employee): + def __init__(self, vorname, name, oRecruiter): + super().__init__(vorname, name) + self.recruiter = oRecruiter.get_id()