1
0
forked from tdwojak/Python2017
Python2017/labs04/task02.py
2018-01-24 12:06:54 +01:00

41 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``
class Employee:
id = 0
def __init__(self, name, surname):
Employee.id += 1
self.id = Employee.id
self.name = name
self.surname = surname
def get_id(self):
return self.id
class Recruiter(Employee):
def __init__(self, name, surname):
super().__init__(name, surname)
self.recruited = []
def recruit(self, Employee_obj):
self.recruited.append(Employee_obj.id)
class Programmer(Employee):
def __init__(self, name, surname, Recruiter_obj):
super().__init__(name, surname)
self.recruiter = Recruiter_obj.id