From d7ea17b3251cd0e98b320471b2049a4d47898491 Mon Sep 17 00:00:00 2001 From: s45146 Date: Sat, 9 Dec 2017 20:15:43 +0100 Subject: [PATCH] =?UTF-8?q?labs04=20-=20task02=20Rozwi=C4=85zanie=20-=20Pi?= =?UTF-8?q?otr=20Bystrzycki=20-=20nr=20indeksu=2045146?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labs04/task02.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) 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()