1
0
Fork 0
Python2017/labs04/task02.py

38 lines
1.4 KiB
Python

#!/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()