Skip to content

Commit

Permalink
add method __init__ to all classes and redefinition skills
Browse files Browse the repository at this point in the history
  • Loading branch information
Mxbely committed Sep 27, 2024
1 parent 9357861 commit cf74bbe
Showing 1 changed file with 21 additions and 12 deletions.
33 changes: 21 additions & 12 deletions app/main.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,39 @@

class SoftwareEngineer:
skills = []
# skills = []

def __init__(self, name: str) -> None:
self.name = name
self.skills = []

def learn_skill(self, skill: str) -> None:
self.skills.append(skill)


class FrontendDeveloper(SoftwareEngineer):
skills = ["JavaScript", "HTML", "CSS"]
def __init__(self, name: str) -> None:
super().__init__(name)
self.skills = ["JavaScript", "HTML", "CSS"]

def create_awesome_web_page(self) -> str:
print(f"{self.name} is creating a webpage...")
return "<h1>Hello world</h1>"


class BackendDeveloper(SoftwareEngineer):
skills = ["Python", "SQL", "Django"]
def __init__(self, name: str) -> None:
super().__init__(name)
self.skills = ["Python", "SQL", "Django"]

def create_powerful_api(self) -> str:
print(f"{self.name} is creating an API...")
return "http://127.0.0.1:8000"


class AndroidDeveloper(SoftwareEngineer):
skills = ["Java", "Android studio"]
def __init__(self, name: str) -> None:
super().__init__(name)
self.skills = ["Java", "Android studio"]

def create_smooth_mobile_app(self) -> str:
print(f"{self.name} is creating a mobile app...")
Expand All @@ -39,14 +46,16 @@ class FullStackDeveloper(
FrontendDeveloper,
SoftwareEngineer
):
skills = [
"Python",
"SQL",
"Django",
"JavaScript",
"HTML",
"CSS",
]
def __init__(self, name: str) -> None:
super().__init__(name)
self.skills = [
"Python",
"SQL",
"Django",
"JavaScript",
"HTML",
"CSS",
]

def create_web_application(self) -> None:
print(f"{self.name} started creating a web application...")
Expand Down

0 comments on commit cf74bbe

Please sign in to comment.