Pyhton Lab12.3
unknown
python
3 years ago
3.5 kB
17
Indexable
class Name:
def __init__(self, title="", fname="", lname=""):
self.title = title
self.fname = fname
self.lname = lname
def setName(self, t, f, l):
self.title = t
self.fname = f
self.lname = l
def getFullName(self):
self.fullname = self.title + ". " + self.fname + self.lname
return self.fullname
class Date:
def __init__(self, d, m, y):
self.d = d
self.m = m
self.y = y
def setDate(self, d, m, y):
if (d in range(1,32)) and (m in range(1,13)):
self.d = d
self.m = m
self.y = y
def getDate(self):
return f"{self.d}/{self.m}/{self.y}"
def getDateBC(self):
return f"{self.d}/{self.m}/{self.y + 543}"
class Address:
def __init__(self, hNo, st, dis, city, coun, post):
self.hNo = hNo
self.st = st
self.dis = dis
self.city = city
self.coun = coun
self.post = post
def setAddress(self, hNo, st, dis, city, coun, post):
self.hNo = hNo
self.st = st
self.dis = dis
self.city = city
self.coun = coun
self.post = post
def getAddress(self):
return f"{self.hNo}, {self.st}, {self.dis}, {self.city}, {self.city}, {self.coun}, {self.post}"
class Person(Name, Date, Address):
def __init__(self, title, fname, lname, d, m, y, hNo, st, dis, city, coun, post):
super().__init__(title, fname, lname, d, m, y, hNo, st, dis, city, coun, post)
self.name = self.getFullName()
self.birthday = self.getDate()
self.address = self.getAddress()
def printInfo(self):
print(f"{self.name}\n{self.birthday}\n{self.address}")
class Employee(Person):
def __init__(self, title, fname, lname, d, m, y, hNo, st, dis, city, coun, post):
super().__init__(title, fname, lname, d, m, y, hNo, st, dis, city, coun, post)
self.startDate = self.getDate()
self.department = None
def printInfo(self):
print(f"{self.name}\n{self.startDate}\n{self.department}")
class TempEmployee(Employee):
def __init__(self, title, fname, lname, d, m, y, hNo, st, dis, city, coun, post):
super().__init__(title, fname, lname, d, m, y, hNo, st, dis, city, coun, post)
self.wage = 0
def printInfo(self):
print(f"{self.name}\n{self.wage}")
class PermEmployee(Employee):
def __init__(self, title, fname, lname, d, m, y, hNo, st, dis, city, coun, post):
super().__init__(title, fname, lname, d, m, y, hNo, st, dis, city, coun, post)
self.salary = 0
def printInfo(self):
print(f"{self.name}\n{self.salary}")
class Department(Employee):
def __init__(self, des, manager, startDate, department):
super().__init__(startDate, department)
self.des = des
self.manager = manager
self.eList = []
def addEmployee(self, x):
self.eList.append(x)
self.department = self.des
def delEmployee(self, x):
for i in self.eList:
if i.name == x:
del i
self.department = "null"
def setManager(self, x):
if (x in self.eList) and isinstance(x, PermEmployee):
self.manager = x
def printInfo(self):
print(f"{self.des}\n{self.manager}\n{self.eList}")Editor is loading...