Skip to content

Commit 2787818

Browse files
committed
2 parents d9d4f3a + 1b74fd2 commit 2787818

File tree

1 file changed

+29
-19
lines changed
  • Object-Oriented/3-Class-Static-Methods

1 file changed

+29
-19
lines changed

Object-Oriented/3-Class-Static-Methods/oop.py

+29-19
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,44 @@ def fullname(self):
1818
def apply_raise(self):
1919
self.pay = int(self.pay * self.raise_amt)
2020

21-
emp_1 = Employee('Corey', 'Schafer', 50000)
22-
emp_2 = Employee('Test', 'Employee', 60000)
23-
24-
print(Employee.raise_amt)
25-
print(emp_1.raise_amt)
26-
print(emp_2.raise_amt)
27-
21+
@classmethod
22+
def set_raise_amt(cls, amount):
23+
cls.raise_amt = amount
2824

25+
@classmethod
26+
def from_string(cls, emp_str):
27+
first, last, pay = emp_str.split('-')
28+
return cls(first, last, pay)
2929

30+
@staticmethod
31+
def is_workday(day):
32+
if day.weekday() == 5 or day.weekday() == 6:
33+
return False
34+
return True
3035

3136

32-
# emp_str_1 = 'John-Doe-70000'
33-
# emp_str_2 = 'Steve-Smith-30000'
34-
# emp_str_3 = 'Jane-Doe-90000'
35-
36-
# first, last, pay = emp_str_1.split('-')
37+
emp_1 = Employee('Corey', 'Schafer', 50000)
38+
emp_2 = Employee('Test', 'Employee', 60000)
3739

38-
# new_emp_1 = Employee(first, last, pay)
39-
# new_emp_1 = Employee.from_string(emp_str_1)
40+
Employee.set_raise_amt(1.05)
4041

41-
# print(new_emp_1.email)
42-
# print(new_emp_1.pay)
42+
print(Employee.raise_amt)
43+
print(emp_1.raise_amt)
44+
print(emp_2.raise_amt)
4345

46+
emp_str_1 = 'John-Doe-70000'
47+
emp_str_2 = 'Steve-Smith-30000'
48+
emp_str_3 = 'Jane-Doe-90000'
4449

50+
first, last, pay = emp_str_1.split('-')
4551

52+
#new_emp_1 = Employee(first, last, pay)
53+
new_emp_1 = Employee.from_string(emp_str_1)
4654

55+
print(new_emp_1.email)
56+
print(new_emp_1.pay)
4757

48-
# import datetime
49-
# my_date = datetime.date(2016, 7, 10)
58+
import datetime
59+
my_date = datetime.date(2016, 7, 11)
5060

51-
# print(Employee.is_workday(my_date))
61+
print(Employee.is_workday(my_date))

0 commit comments

Comments
 (0)