forked from tdwojak/Python2017
labs04 - task02
Rozwiązanie - Piotr Bystrzycki - nr indeksu 45146
This commit is contained in:
parent
eef90997bc
commit
d7ea17b325
@ -1,3 +1,37 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python2
|
||||||
# -*- coding: utf-8 -*-
|
# -*- 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()
|
||||||
|
Loading…
Reference in New Issue
Block a user