Inheritance
Inheritance (āļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠ)
āđāļāļāļāļāđāļāļāļŦāļāđāļē āļāļļāļāđāļāđāđāļĢāļĩāļĒāļāļĢāļđāđāļāļ·āđāļāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļīāļāļ§āļąāļāļāļļāđāļāļāļēāļĢāļŠāļĢāđāļēāļāļāļĨāļēāļŠāđāļĨāļ°āļāļāļāđāļāđāļāđāļāđāļĨāđāļ§ āđāļĨāļ°āđāļāļāļāļāļĩāđ āļāļļāļāļāļ°āđāļāđāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļĩāđāļĒāļ§āļāļąāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāļāļāļĒāđāļēāļāļŦāļāļķāđāļāļāļāļ OOP āļāļ·āļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠ (Inheritance) āļāļķāđāļāđāļāđāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļŠāļģāļāļąāļāđāļāļ āļēāļĐāļē Python āļāļĩāđāļāļ°āļāļģāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļģāļāļĨāļēāļŠāļāļĩāđāđāļāļĩāļĒāļāđāļ§āđāđāļĨāđāļ§āļĄāļēāđāļāđāļāļĩāļāļāļĢāļąāđāļāđāļĨāļ°āđāļāļīāđāļĄāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļīāđāļĄāđāļāļīāļĄāđāļāđāļēāļĄāļē āļāđāļāļāļāļĩāđāļāļ°āđāļĢāļīāđāļĄ āļĄāļēāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļąāļāđāļāļ§āļāļīāļāļāļāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāđāļāļ
Inheritance āļāļ·āļāļāļ°āđāļĢ
Inheritance āļŦāļĢāļ·āļāļāļēāļĢāļŠāļ·āļāļāļāļ āļāļ·āļāļāļēāļĢāļāļĩāđāļāļĨāļēāļŠāļŦāļĢāļ·āļāļāļāļāđāļāđāļ āđāļāđāļĢāļąāļāļāļēāļĢāļāđāļēāļĒāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāļāļēāļāļāļĨāļēāļŠāļāļ·āđāļ āļāļąāđāļāļāļ°āļāļģāđāļŦāđāļāļĨāļēāļŠāļāļąāļāļāļĨāđāļēāļ§āļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāđāļŦāļĄāļ·āļāļāļāļĨāļēāļŠāļāļĩāđāļĄāļąāļāļŠāļ·āļāļāļāļāļĄāļēāđāļĢāļĩāļĒāļāļāļĨāļēāļŠāļāļąāđāļāļ§āđāļē super class āļŦāļĢāļ·āļ base class āļŠāđāļ§āļāļāļĨāļēāļŠāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļŠāļ·āļāļāļāļāđāļĢāļĩāļĒāļāļ§āđāļē sub class āļŦāļĢāļ·āļ child class āļāļāļāļāļēāļāļāļĩāđ āđāļĢāļēāļĒāļąāļāļŠāļēāļĄāļēāļĢāļāļāļĒāļēāļĒāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļĒāļāļēāļĢāđāļāļīāđāļĄāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļŦāļĢāļ·āļāđāļĄāļāļāļ āļŦāļĢāļ·āļāļāļģāļāļēāļĢ override āđāļĄāļāļāļāļāļāļ super class āđāļāđ āļāļĩāđāđāļāđāļāđāļāļ§āļāļīāļāđāļāļāļēāļĢāļāļģāđāļāđāļāđāļāļīāļĄāļāļĨāļąāļāļĄāļēāđāļāđāđāļāļĒāđāļĄāđāļāđāļāļāđāļāļĩāļĒāļāļāļķāđāļāđāļŦāļĄāđ āđāļĨāļ°āđāļāļīāđāļĄāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļāđāļāļīāļĄāļāļĩāđāļĄāļĩāļāļĒāļđāđ āđāļāļ āļēāļĐāļē Python āļāļąāđāļāļĒāļąāļāļŠāļāļąāļāļŠāļāļļāļ Multiple inheritance āļāļķāđāļāļāļāļļāļāļēāļāļīāđāļŦāđāļāļĨāļēāļŠāļŠāļ·āļāļāļāļāļāļēāļāļāļĨāļēāļŠāļŦāļĨāļēāļĒāđ āļāļĨāļēāļŠāđāļāđāđāļāđāļ§āļĨāļēāđāļāļĩāļĒāļ§āļāļąāļ
āļāļĩāđāđāļāđāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠāđāļāļ āļēāļĐāļē Python
class DerivedClassName(BaseClassName):
pass
class DerivedClassName(BaseClassName1, BaseClassName2, ...):
passāđāļāļāļąāļ§āļāļĒāđāļēāļ āđāļāđāļāļĢāļđāļāđāļāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠ āđāļāļĒāđāļāļāđāļĢāļāđāļāđāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļēāļāļāļĨāļēāļŠāđāļāļĩāļĒāļ§ āļāļķāđāļāļāļ·āđāļāļāļāļ super class āļāļ°āļāļĒāļđāđāđāļāļ§āļāđāļĨāđāļ (BaseClassName) āđāļĨāļ°āļŠāļģāļŦāļĢāļąāļāļāļąāļ§āļāļĒāđāļēāļāļāđāļāļĄāļē āļāļ·āļāļāļēāļĢāļŠāļ·āļāļāļāļāđāļāļāļŦāļĨāļēāļĒāļāļĨāļēāļŠ āđāļāļĒāļāļ°āļĄāļĩāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļĄāļĄāļē (,) āđāļĒāļāļĢāļ°āļŦāļ§āđāļēāļāđāļāđāļĨāļ°āļāļĨāļēāļŠāļāļāļāļāļēāļāļāļąāļ āļāđāļāđāļāļĄāļēāļāļđāļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāļŠāļĢāđāļēāļāļāļĨāļēāļŠāļāļĩāđāļŠāļ·āļāļāļāļāļāļēāļāļāļĨāļēāļŠāļāļ·āđāļāđāļāļ āļēāļĐāļē Python
āļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠ
āđāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠāļāļąāđāļ āđāļĢāļēāļāļ°āļĒāļāļāļąāļ§āļāļĒāđāļēāļāđāļāļĒāļāļēāļĢāļŠāļĢāđāļēāļāļāļĨāļēāļŠāļŠāļģāļŦāļĢāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāļāļāļāļāļļāļāļāļĨāļāļ·āđāļ Person āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāđāļĢāļēāļāļ°āļŠāļĢāđāļēāļāļāļĨāļēāļŠāļāļāļāļĨāļđāļāļāđāļēāļ Employee āļāļķāđāļāļāļĨāļēāļŠāļāļĩāđāļāļ°āļŠāļ·āļāļāļāļāļĄāļēāļāļēāļāļāļĨāļēāļŠāļāđāļāļāļŦāļāđāļē āļĄāļēāļāļđāļŠāđāļ§āļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļāđāļĢāļē
class Person:
def __init__(self, firstName, lastName):
self.firstName = firstName
self.lastName = lastName
def getName(self):
return self.firstName + ' ' + self.lastName
class Employee(Person):
def setWorkDetail(self, department, position):
self.department = department
self.position = position
def getWorkDetail(self):
return self.position + ', ' + self.department
emp1 = Employee('Mladen', 'Solomun')
emp1.setWorkDetail('Software Engineer', 'C++ programmer')
print('Name: ' + emp1.getName())
print('Work: ' + emp1.getWorkDetail())
emp2 = Employee('John', 'Askew')
emp2.setWorkDetail('Sound Engineer', 'Musical acoustics')
print('Name: ' + emp2.getName())
print('Work: ' + emp2.getWorkDetail())āđāļāļāļąāļ§āļāļĒāđāļēāļ āđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠ Person āļāļķāđāļāļāļĨāļēāļŠāļāļĩāđāđāļāđāļ super class āđāļāļ·āđāļāļāļĩāđāļāļ°āļāļģāđāļāđāļŦāđāļāļĨāļēāļŠāļāļ·āđāļāļŠāļ·āļāļāļāļ āđāļāļāļĨāļēāļŠāļĄāļĩāļŠāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāļ·āļ firstName āđāļāđāļŠāļģāļŦāļĢāļąāļāđāļāđāļāļāļ·āđāļ āđāļĨāļ° lastName āđāļāđāļŠāļģāļŦāļĢāļąāļāđāļāđāļāļāļēāļĄāļŠāļāļļāļĨ āđāļĨāļ°āļĄāļĩāđāļĄāļāļāļ getName() āđāļāļ·āđāļāļĢāļąāļāļāļ·āđāļāđāļĨāļ°āļāļēāļĄāļŠāļāļļāļĨāđāļāđāđāļāļāļĢāđāļāļĄāļāļąāļ
class Employee(Person):
...āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠ Employee āļāļķāđāļāđāļāđāļŠāļ·āļāļāļāļāļĄāļēāļāļēāļāļāļĨāļēāļŠ Person āļāļąāđāļāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āđāļēāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāļāļąāđāļāļŦāļĄāļāļāļēāļāļāļĨāļēāļŠ Person āļāļ°āļāļđāļāļāđāļēāļĒāļāļāļāļĄāļēāļĒāļąāļāļāļĨāļēāļŠāļāļĩāđāļāđāļ§āļĒ āļāļąāđāļāļāļ°āļāļģāđāļŦāđāļĄāļąāļāļĄāļĩāļāļļāļāļāļĒāđāļēāļāđāļŦāļĄāļ·āļāļāļāļĩāđāļāļĨāļēāļŠāļŦāļĨāļąāļāļĄāļĩ āđāļĨāļ°āļāļāļāļāļēāļāļāļĩāđāđāļāļāļĨāļēāļŠāļāļĩāđāļĒāļąāļāļĄāļĩāđāļĄāļāļāļāđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļāļīāđāļĄāđāļāļīāļĄāļāļāļāļĄāļąāļāđāļāļ āđāļāļĒāđāļĄāļāļāļ setWorkDetail() āđāļāđāļāđāļĄāļāļāļāļŠāļģāļŦāļĢāļąāļāļāļģāļŦāļāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļĢāļāļģāļāļēāļāđāļāļĒāļĄāļĩāļāļģāđāļŦāļāđāļāļāļēāļāđāļĨāļ°āđāļāļāļāļāļĩāđāļŠāļąāļāļāļąāļ āđāļĨāļ°āđāļĄāļāļāļ getWorkDetail() āđāļŠāļāļāļāđāļāļĄāļđāļĨāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢāļāļģāļāļēāļ
emp1 = Employee('Mladen', 'Solomun')
emp1.setWorkDetail('Software Engineer', 'C++ programmer')
print('Name: ' + emp1.getName())
print('Work: ' + emp1.getWorkDetail())
emp2 = Employee('John', 'Askew')
emp2.setWorkDetail('Sound Engineer', 'Musical acoustics')
print('Name: ' + emp2.getName())
print('Work: ' + emp2.getWorkDetail())āļŦāļĨāļąāļāļāļēāļāđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠāđāļŠāļĢāđāļāđāļĨāđāļ§ āļāđāļāđāļāđāļāđāļāļāļēāļĢāļāļģāļĄāļēāđāļāđāļāļēāļ āđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļāļāđāļāđāļāļāļāļ Employee āļāļķāđāļāļĄāļēāļŠāļāļāļāļāļāđāļāđāļāļāļ·āļ emp1 āđāļĨāļ° emp2 āđāļāđāļĨāļ°āļāļāļāđāļāđāļāđāļāđāļĄāļĩāļāļēāļĢāļāļģāļŦāļāļāļāļ·āđāļāđāļĨāļ°āļāļēāļĄāļŠāļāļļāļĨ āđāļĨāļ°āļĄāļĩāļāļēāļĢāļāļģāļŦāļāļāļāđāļāļĄāļđāļĨāļāļēāļĢāļāļģāļāļēāļ āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāđāļāđāļāļāļēāļĢāđāļŠāļāļāļāđāļāļĄāļđāļĨāđāļāļĩāđāļĒāļ§āļāļąāļāđāļāđāļĨāļ°āļāļ āđāļāļĒāđāļŠāļāļāļāļ·āđāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļēāļĢāļāļģāļāļēāļ
Name: Mladen Solomun
Work: C++ programmer, Software Engineer
Name: John Askew
Work: Musical acoustics, Sound EngineerāļāļĩāđāđāļāđāļāļāļĨāļĨāļąāļāļāđāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ āļāļļāļāļāļ°āđāļŦāđāļāđāļāđāļ§āđāļēāļāļēāļĢāļŠāļ·āļāļāļāļāļāļąāđāļāļāļģāđāļŦāđāđāļĢāļēāļāļģāļāļĨāļēāļŠāđāļāļīāļĄāļāļĨāļąāļāļĄāļēāđāļāđāđāļāđ āđāļĨāļ°āļāļāļāļāļēāļāļāļĩāđāļĒāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļīāđāļĄāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāđāļāđāļēāđāļāļāļĩāļ āļāļķāđāļāļāļ°āļāļģāđāļŦāđāļāđāļ§āļĒāļāļĢāļ°āļŦāļĒāļąāļāđāļ§āļĨāļēāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āļĨāļāļāļ§āļēāļĄāļāđāļģāļāđāļāļāļāļāļāđāļāđāļ
Multiple Inheritance
āđāļāļāļąāļ§āļāļĒāđāļēāļāļāđāļāļāļŦāļāđāļē āđāļāđāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠāļāļēāļāđāļāļĩāļĒāļāđāļāđāļāļĨāļēāļŠāđāļāļĩāļĒāļ§ āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄāđāļāļ āļēāļĐāļē Python āļāļąāđāļāļŠāļāļąāļāļŠāļāļļāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļēāļāļŦāļĨāļēāļĒāļāļĨāļēāļŠāđāļāđāđāļāļāļĢāđāļāļĄāļāļąāļ āļāđāļāđāļāļĄāļēāļāļđāļāļąāļ§āļāļĒāđāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļāļ°āđāļāđāļāļĢāļ°āđāļĒāļāļāđāļāļēāļāļāļēāļĢāļŠāļ·āļāļāļāļāļŦāļĨāļēāļĒāļāļĨāļēāļŠ
class Geographic:
def setCordinate(self, latitude, longitude):
self.latitude = latitude
self.longitude = longitude
def getCordinate(self):
return str(self.latitude) + ', ' + str(self.longitude)
def getTimeZone(self):
timezone = round(self.longitude / 12 - 1)
if timezone > 0:
return '+' + str(timezone)
else:
return str(timezone)
def getClimate(self):
if self.latitude <= -66.5 or self.latitude >= 66.5:
return 'Polar zone'
elif self.latitude <= -23.5 or self.latitude >= 23.5:
return 'Temperate zone'
else:
return 'Tropical zone'
class Temperature:
def setCelsius(self, celsius):
self.celsius = celsius
def getFahrenheit(self):
return self.celsius * 1.8 + 32
def getKelvin(self):
return self.celsius + 273.15
def getWeather(self):
if self.celsius <= 0:
return 'freezing'
elif self.celsius <= 18:
return 'cold'
elif self.celsius <= 28:
return 'warm'
else:
return 'hot'
class Country(Geographic, Temperature):
def __init__(self, name, area, population):
self.name = name
self.area = area
self.population = population
def getPopulationDensity(self):
return self.population / self.area
def showDetails(self):
print('Country: %s' % self.name)
print('Area: %.2f sq km' % self.area)
print('Population: %d' % self.population)
print('Density: %.2f person per sq km' %
self.getPopulationDensity())
print('Decimal cordinate: %s' % self.getCordinate())
print('Time zone: %s' % self.getTimeZone())
print('Climate: %s' % self.getClimate())
print('Temperature in Celsius: %.2f degree' % self.celsius)
print('Temperature in Fahrenheit: %.2f degree' %
self.getFahrenheit())
print('Temperature in Kelvin: %.2f' % self.getKelvin())
print('The weather is %s' % self.getWeather())
print()āđāļāļāļąāļ§āļāļĒāđāļēāļ āđāļĢāļēāđāļāđāļŠāļĢāđāļēāļ super class āļĄāļēāļŠāļāļāļāļĨāļēāļŠāļāļ·āļ Geographic āđāļāđāļāļāļĨāļēāļŠāļāļąāļāļāļēāļĢāļāļēāļĢāļāļģāļāļēāļāđāļāļāļēāļāļ āļđāļĄāļīāļĻāļēāļŠāļāļĢāđ āđāļĨāļ°āļāļĨāļēāļŠāļāļĩāđāļŠāļāļ Temperature āđāļāđāļāļāļĨāļēāļŠāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļēāļĢāļāļļāļāļŦāļ āļđāļĄāļī āļāđāļāđāļāđāļĢāļēāļāļ°āļĄāļēāļāļāļīāļāļēāļĒāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļĨāļēāļŠāđāļŦāļĨāđāļēāļāļĩāđāļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āđāļāļ·āđāļāđāļŦāđāļāļļāļāđāļāđāļēāđāļāđāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļĄāļąāļ āļāļļāļāļāļēāļāļāļ°āļŦāļĒāļīāļāđāļāđāļ§āļāļēāđāļāļāļāļāļāļļāļāļĄāļēāļāļ·āđāļĄāđāļāļāđāļ§āļĒāļāđāđāļāđ āđāļāļĢāļēāļ°āļĄāļąāļāļāļēāļāļāļ°āļĒāļēāļ§āļŠāļąāļāļŦāļāđāļāļĒ āđāļāđāđāļāļ·āđāļāđāļāļāļ°āļ§āđāļēāļĄāļąāļāļŠāļāļļāļāđāļāđāļāļāļ
class Geographic:
def setCordinate(self, latitude, longitude):
self.latitude = latitude
self.longitude = longitude
def getCordinate(self):
return str(self.latitude) + ', ' + str(self.longitude)
def getTimeZone(self):
timezone = round(self.longitude / 12 - 1)
if timezone > 0:
return '+' + str(timezone)
else:
return str(timezone)
def getClimate(self):
if self.latitude <= -66.5 or self.latitude >= 66.5:
return 'Polar zone'
elif self.latitude <= -23.5 or self.latitude >= 23.5:
return 'Temperate zone'
else:
return 'Tropical zone'āļāļĨāļēāļŠāđāļĢāļāļāļāļāđāļĢāļēāļāļ·āļāļāļĨāļēāļŠ Geographic āļāļĨāļēāļŠāļāļĩāđāļĢāļąāļāļāļīāļāļāļāļāļāļēāļĢāļāļģāļāļēāļāđāļāļĩāđāļĒāļ§āļāļąāļāļ āļđāļĄāļīāļĻāļēāļŠāļāļĢāđ āđāļāļĒāđāļĢāļēāļĄāļĩāđāļĄāļāļāļ setCordinate() āļŠāļģāļŦāļĢāļąāļāļāļģāļŦāļāļāļāđāļē latitude āđāļĨāļ° longitude āļāļķāđāļāļāļĩāđāđāļāđāļāļāļīāļāļąāļāļāļĩāđāļāļąāđāļāļāļāļāļŠāļīāđāļāļāđāļēāļāđ āļāļāđāļĨāļ āđāļāļāļĨāļēāļŠāļāļĩāđāđāļĢāļēāđāļāđāļĄāļĩāđāļĄāļāļāļāļāļĩāđāļŠāļģāļāļąāļāļāļ·āļ getTimeZone() āđāļāđāļāđāļĄāļāļāļāļŠāļģāļŦāļĢāļąāļāļŦāļēāļāđāļē timezone āļāļēāļ longitude āļāļķāđāļāļĨāļāļāļāļīāļāļđāļāļŦāļĢāļ·āļāđāļŠāđāļāđāļ§āļ āđāļāđāļāđāļŠāđāļāļĢāļ°āļĒāļ°āļāļēāļĄāļĒāļēāļ§āļāļāļāļāļ·āđāļāļāļīāļ§āđāļĨāļ āļĄāļąāļāđāļāđāļŠāļģāļŦāļĢāļąāļāļāļģāļŦāļāļāđāļāļāđāļ§āļĨāļēāļāļāđāļĨāļāļāļāļāđāļāđāļāđāļāļāļāđāļēāļāđ āđāļāļ·āđāļāļāļāļēāļāđāļĨāļāļāļāļāđāļĢāļēāđāļāđāļāļāļĢāļāļāļĨāļĄ āļāļąāļāļāļąāđāļāļāļķāļāļāļģāđāļŦāđāđāļ§āļĨāļēāđāļāđāļāđāļĨāļ°āļāļ·āđāļāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ āļāļąāļāļĢāļđāļāļāđāļēāļāļĨāđāļēāļ

āļāđāļāļĄāļēāđāļāđāļāđāļĄāļāļāļ getClimate() āđāļĄāļāļāļāļāļĩāđāļāļ°āļāļģāļāđāļē latitude āđāļŠāđāļāļĨāļ°āļāļīāļāļđāļāļŦāļĢāļ·āļāļāļĩāđāđāļĢāļĩāļĒāļāļāļąāļāļ§āđāļēāđāļŠāđāļāļĢāļļāđāļ āļāļķāđāļāļĄāļąāļāđāļāđāđāļāđāļāļāļąāļ§āđāļāđāļāļŠāļ āļēāļāļāļēāļāļēāļĻāļāļāļāđāļĨāļāļāļāļāđāļāđāļāļŠāļēāļĄāđāļāļāđāļŦāļāđāđ āļāļ·āļāđāļāļāļĢāđāļāļ āđāļāļāļāļāļāļļāđāļ āđāļĨāļ°āđāļāļāļāļąāđāļ§āđāļĨāļ āļāļąāļāļāļąāđāļāđāļĄāļāļāļāļāļĩāđāļāļ°āļāļāļāļ§āđāļēāļāļ·āđāļāļāļĩāđāļāļąāđāļāļāļĒāļđāđāđāļāđāļāļāļāļēāļāļēāļĻāđāļāļāđāļŦāļ āđāļāļĒāļāļģāļāļ§āļāļāļēāļāļāđāļēāļĨāļ°āļāļīāļāļđāļ

class Temperature:
def setCelsius(self, celsius):
self.celsius = celsius
def getFahrenheit(self):
return self.celsius * 1.8 + 32
def getKelvin(self):
return self.celsius + 273.15
def getWeather(self):
if self.celsius <= 0:
return 'freezing'
elif self.celsius <= 18:
return 'cold'
elif self.celsius <= 28:
return 'warm'
else:
return 'hot'āļāđāļāļĄāļēāđāļāđāļāļāļĨāļēāļŠ Temperature āļāļĨāļēāļŠāļāļĩāđāļāļąāļāļāļēāļĢāđāļāļĩāđāļĒāļ§āļāļąāļāļāļļāļāļŦāļ āļđāļĄāļī āđāļāļĒāļĄāļĩāđāļĄāļāļāļ setCelsius() āļŠāļģāļŦāļĢāļąāļāļĢāļąāļāļāđāļēāļāļļāļāļŦāļ āļđāļĄāļīāđāļāļŦāļāđāļ§āļĒāļāļāļĻāļēāđāļāļĨāđāļāļĩāļĒāļŠ āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāđāļĢāļēāđāļāđāļĄāļĩāđāļĄāļāļāļāđāļāļĨāļāļāđāļēāļŦāļāđāļ§āļĒāļāļĩāđāđāļāļĒāļąāļāļŦāļāđāļ§āļĒāļāļ·āđāļāđ āđāļāļāļāļĻāļēāļāļēāđāļĢāļāđāļŪāļāđ āđāļĨāļ°āđāļāļĨāļ§āļīāļ āđāļĨāļ°āļĄāļĩāđāļĄāļāļāļ getWeather() āļŠāļģāļŦāļĢāļąāļāļāļģāļāļ§āļāļŦāļēāļŠāļ āļēāļāļāļēāļāļēāļĻāļ§āđāļēāļĢāđāļāļ āļāļāļāļļāđāļ āļŦāļāļēāļ§ āļŦāļĢāļ·āļāđāļāđāđāļāđāļ
class Country(Geographic, Temperature):
def __init__(self, name, area, population):
self.name = name
self.area = area
self.population = population
def getPopulationDensity(self):
return self.population / self.area
def showDetails(self):
print('Country: %s' % self.name)
print('Area: %.2f sq km' % self.area)
print('Population: %d' % self.population)
print('Density: %.2f person per sq km' %
self.getPopulationDensity())
print('Decimal cordinate: %s' % self.getCordinate())
print('Time zone: %s' % self.getTimeZone())
print('Climate: %s' % self.getClimate())
print('Temperature in Celsius: %.2f degree' % self.celsius)
print('Temperature in Fahrenheit: %.2f degree' %
self.getFahrenheit())
print('Temperature in Kelvin: %.2f' % self.getKelvin())
print('The weather is %s' % self.getWeather())
print()āļāļāļāļāļĩāđāđāļĢāļēāđāļāđāļŠāļĢāđāļēāļ super class āđāļŠāļĢāđāļāđāļāđāļĨāđāļ§ āđāļĨāļ°āļāļļāļāđāļāđāđāļāđāļēāđāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļĄāļąāļāļāļąāđāļāļŦāļĄāļ āļāđāļāđāļāđāļāđāļāļāļēāļĢāļŠāļĢāđāļēāļāļāļĨāļēāļŠ Country āļāļķāđāļāļāļĨāļēāļŠāļāļĩāđāļŠāļ·āļāļāļāļāļāļēāļāļāļĨāļēāļŠāļāļąāđāļāļŠāļāļāļāđāļāļāļŦāļāđāļē āļāļąāđāļāļāļ°āļāļģāđāļŦāđāļĄāļąāļāļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāļāļąāđāļāļŦāļĄāļāđāļŦāļĄāļ·āļāļāļāļąāļ super class āļāļāļāļĄāļąāļ
āļŠāļģāļŦāļĢāļąāļāđāļāļāļĨāļēāļŠ Country āđāļāđāļāļāļĨāļēāļŠāļāļāļāļāļĢāļ°āđāļāļĻāļāļĩāđāļāļ°āđāļāđāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāđāļēāļāđ āđāļāļĒāļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāđ name āđāļāđāļāļāļ·āđāļāļāļāļāļāļĢāļ°āđāļāļĻ area āđāļāđāļāļāļāļēāļāļāļ·āđāļāļāļĩāđāļĄāļĩāļŦāļāđāļ§āļĒāđāļāļāļēāļĢāļēāļāļāļīāđāļĨāđāļĄāļāļĢ āđāļĨāļ° population āđāļāđāļāļāļģāļāļ§āļāļāļĢāļ°āļāļēāļāļĢāļāļąāđāļāļŦāļĄāļāđāļāļāļĢāļ°āđāļāļĻ āđāļĨāļ°āļāļĨāļēāļŠāļāļĩāđāļĄāļĩāļŠāļāļāđāļĄāļāļāļāļāļ·āļ getPopulationDensity() āđāļāđāļāđāļĄāļāļāļāļŠāļģāļŦāļĢāļąāļāļāļģāļāļ§āļāļāļ§āļēāļĄāļŦāļāļēāđāļāđāļāļāļāļāļāļĢāļ°āļāļēāļāļĢāļāđāļāļāļ·āđāļāļāļĩāđāļŦāļāļķāđāļāļāļēāļĢāļēāļāļāļīāđāļĨāđāļĄāļāļĢ āđāļĨāļ°āđāļĄāļāļāļ showDetails() āļŠāļģāļŦāļĢāļąāļāđāļŠāļāļāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļąāđāļāļŦāļĄāļāđāļāļĩāđāļĒāļ§āļāļąāļāļāļĢāļ°āđāļāļĻ
c = Country('Thailand', 513120, 68863514)
c.setCordinate(13.75, 100.483333)
c.setCelsius(28.5)
c.showDetails()
c2 = Country('England', 130279, 55268100)
c2.setCordinate(51.5, -0.116667)
c2.setCelsius(9)
c2.showDetails()
c2 = Country('Canada', 9984670, 35151728)
c2.setCordinate(45.4, -75.666667)
c2.setCelsius(-3)
c2.showDetails()āļŦāļĨāļąāļāļāļēāļāļŠāļĢāđāļēāļāļāļĨāļēāļŠāđāļŠāļĢāđāļāđāļĨāđāļ§ āļāđāļāđāļāđāļāđāļāļāļēāļĢāļāļģāļāļĨāļēāļŠ Country āļĄāļēāļŠāļĢāđāļēāļāļāļāļāđāļāđāļāļāļāļāļŠāļēāļĄāļāļĢāļ°āđāļāļĻāļāļ·āļ āđāļāļĒ āļāļąāļāļāļĪāļĐ āđāļĨāļ°āđāļāļāļēāļāļē āđāļāļĒāđāļāđāļāđāļĨāļ°āļāļāļāđāļāđāļāđāļāđāļāļģāļŦāļāļāļāđāļāļĄāļđāļĨāļāļāļāļāļĢāļ°āđāļāļĻ āļāļģāļŦāļāļāļāļīāļāļąāļāļāđāļ§āļĒāđāļĄāļāļāļ setCordinate() āļāļģāļŦāļāļāļāļļāļāļŦāļ āļđāļĄāļīāļāđāļ§āļĒāđāļĄāļāļāļ setCelsius() āđāļĨāļ°āļŠāļļāļāļāđāļēāļĒāđāļĢāļĩāļĒāļāļāļđāļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļąāđāļāļŦāļĄāļāļāđāļ§āļĒāđāļĄāļāļāļ showDetails()
Country: Thailand
Area: 513120.00 sq km
Population: 68863514
Density: 134.21 person per sq km
Decimal cordinate: 13.75, 100.483333
Time zone: +7
Climate: Tropical zone
Temperature in Celsius: 28.50 degree
Temperature in Fahrenheit: 83.30 degree
Temperature in Kelvin: 301.65
The weather is hot
Country: England
Area: 130279.00 sq km
Population: 55268100
Density: 424.23 person per sq km
Decimal cordinate: 51.5, -0.116667
Time zone: -1
Climate: Temperate zone
Temperature in Celsius: 9.00 degree
Temperature in Fahrenheit: 48.20 degree
Temperature in Kelvin: 282.15
The weather is cold
Country: Canada
Area: 9984670.00 sq km
Population: 35151728
Density: 3.52 person per sq km
Decimal cordinate: 45.4, -75.666667
Time zone: -7
Climate: Temperate zone
Temperature in Celsius: -3.00 degree
Temperature in Fahrenheit: 26.60 degree
Temperature in Kelvin: 270.15
The weather is freezingāļāļĩāđāđāļāđāļāļāļĨāļĨāļąāļāļāđāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ āļāļķāđāļāđāļāđāļāļāļēāļĢāđāļŠāļāļāļāđāļāļĄāļđāļĨāļāļēāļāļ āļđāļĄāļīāļĻāļēāļŠāļāļĢāđ āļāļļāļāļŦāļ āļđāļĄāļīāđāļĨāļ°āļŠāļ āļēāļāļāļēāļāļēāļĻāļāļāļāđāļāđāļĨāļ°āļāļĢāļ°āđāļāļĻ āđāļāļāļāļāļāļĩāđāļāļļāļāđāļŦāđāļāđāļĨāđāļ§āļ§āđāļēāđāļĢāļēāđāļāđāđāļāđāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠāđāļāļ·āđāļāļāļģāđāļŦāđāļāļĨāļēāļŠ Country āļĄāļĩāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļŦāļĨāļēāļĒāļŦāļĨāļēāļāđāļŦāļĄāļ·āļāļāļāļąāļ super class āļāļāļāļĄāļąāļ
Method overriding
āļŠāļģāļŦāļĢāļąāļāđāļĢāļ·āđāļāļāļŠāļļāļāļāđāļēāļĒāđāļāļāļāļāļĩāđ āļāļ°āđāļāđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢ override āđāļĄāļāļāļ āļāļķāđāļāļāļ·āļāļāļēāļĢāļāļĩāđ sub class āļāļģāļāļēāļĢāļāļģāļŦāļāļāļāļēāļĢāļāļģāļāļēāļāđāļŦāđāļāļąāļāđāļĄāļāļāļāļāļēāļ super class āđāļŦāļĄāđ āđāļāļĒāļĒāļąāļāļāļāđāļāđāļāļ·āđāļāđāļāļīāļĄ āļāļķāđāļāļāļ°āļāļģāđāļŦāđāđāļāļīāļāļāļĨāļēāļŠāđāļŦāļĄāđāđāļāļāļĢāļīāļāļāļāļāļ sub class āđāļĨāļ°āđāļĄāļāļāļāļāļēāļ super class āļāļ°āđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāđ āļĄāļēāļāļđāļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ
class Animal:
def move(self):
print('Animal is moving')
class Dog(Animal):
def move(self):
print('Dog is running')
def parentMove(self):
print('Call parent method')
Animal.move(self)
a = Animal()
a.move()
d = Dog()
d.move()
d.parentMove()āđāļāļāļąāļ§āļāļĒāđāļēāļ āđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠ Animal āđāļāļĒāļāļĨāļēāļŠāļāļĩāđāļĄāļĩāđāļĄāļāļāļ move() āļŠāļģāļŦāļĢāļąāļāđāļŠāļāļāļāđāļāļāļ§āļēāļĄāļāļēāļĢāđāļāļĨāļ·āđāļāļāļāļĩāđāļāļāļāļŠāļąāļāļ§āđ āļāđāļāļĄāļēāđāļĢāļēāđāļāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠ Dog āļāļķāđāļāđāļāđāļāļāļĨāļēāļŠāļāļĩāđāļŠāļ·āļāļāļāļāļĄāļēāļāļēāļāļāļĨāļēāļŠ Animal āđāļāļāļĨāļēāļŠ Dog āđāļĢāļēāđāļāđāļāļģāļāļēāļĢāđāļāļĩāļĒāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļĄāļāļāļ move() āđāļŦāļĄāđ āđāļāļ·āđāļāļāļāļāļ§āđāļēāļāļēāļĢāđāļāļĨāļ·āđāļāļāļāļĩāđāļāļāļāļŦāļĄāļēāļāļąāđāļāļāļ·āļāļāļēāļĢāļ§āļīāđāļ āļāļąāļāļāļąāđāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļĄāļāļāļāđāļāļāļĨāļēāļŠāļŦāļĨāļąāļāļāļķāļāļāļđāļāļāļąāļāđāļ
āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄ āđāļĢāļēāļĒāļąāļāļāļāļŠāļēāļĄāļēāļĢāļāđāļĢāļĩāļĒāļāđāļāđāļāļēāļāđāļĄāļāļāļāļāļēāļāļāļĨāļēāļŠāļŦāļĨāļąāļāđāļāđ āđāļāđāļĄāļāļāļ parentMove() āđāļāđāļāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāđāļāļēāļāđāļĄāļāļāļāļāļēāļ super class āđāļāļāļģāļŠāļąāđāļ Animal.move(self) āđāļāļāļāļāļāļĩāđāļāļķāļāđāļĄāđāļ§āđāļēāđāļĢāļēāļāļ°āđāļāđāļāļģāļāļēāļĢ override āđāļĄāļāļāļāļāļĩāđāđāļāđāļĨāđāļ§ āđāļāđāđāļĢāļēāļāđāļĒāļąāļāļŠāļēāļĄāļēāļĢāļāđāļĢāļĩāļĒāļāđāļāđāļĄāļąāļāđāļāđāđāļāđāļāđāļāļīāļĄ
Animal is moving
Dog is running
Call parent method
Animal is movingāļāļĩāđāđāļāđāļāļāļĨāļĨāļąāļāļāđāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ āļāļ°āđāļŦāđāļāļ§āđāļēāļāļēāļĢ override āđāļĄāļāļāļāļāļąāđāļāđāļāđāļāļāļēāļĢāđāļāļĩāļĒāļāļāļąāļāļāļēāļĢāļāļģāļāļēāļāđāļĄāļāļāļāļāļāļ super class āļāļĩāđāļĄāļąāļāļāļ°āđāļāđāđāļāļāļĢāļāļĩāļāļĩāđāļāļļāļāļāđāļāļāļāļēāļĢāļāļēāļĢāļāļģāļāļēāļāđāļŦāļĄāđāļāļĩāđāđāļāļāļāđāļēāļāļāļēāļāđāļāļīāļĄ āđāļāđāļĒāļąāļāļāļāļāđāļāļāļāļēāļĢāđāļāđāļāļ·āđāļāđāļĄāļāļāļāđāļāļīāļĄāļāļĒāļđāđ āđāļĨāļ°āđāļĄāđāļāđāļāļāļāļēāļĢāļāļĩāđāļāļ°āđāļāđāļāļĨāļĩāđāļĒāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļĄāļāļāļāđāļ super class
āđāļāļāļāļāļĩāđ āļāļļāļāđāļāđāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢāļŠāļ·āļāļāļāļāļāļĨāļēāļŠāđāļāļ āļēāļĐāļē Python āļāļķāđāļāđāļāđāļāđāļāļ§āļāļīāļāļāļēāļĢāļāļģāđāļāđāļāđāļāļīāļĄāļāļĨāļąāļāļĄāļēāđāļāđāđāļāļĒāļāļĩāđāđāļĄāđāļāđāļāļāļŠāļĢāđāļēāļāļāļĨāļēāļŠāđāļŦāļĄāđāļāļĩāđāļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāđāđāļĨāļ°āđāļĄāļāļāļāđāļŦāļĄāļ·āļāļāļāļąāļāđāļŦāļĄāđāļāļąāđāļāļŦāļĄāļ āļāļķāđāļāļāļĩāđāļāļ°āļāļģāđāļŦāđāļāļļāļāļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāđāļāđāđāļĢāđāļ§āļāļķāđāļ āđāļĨāļ°āļāļāļāļāļēāļāļāļĩāđāļāļļāļāļĒāļąāļāđāļāđāđāļĢāļĩāļĒāļāļĢāļđāđāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢāļŠāļ·āļāļāļāļāđāļāļāļŦāļĨāļēāļĒāļāļĨāļēāļŠ āđāļĨāļ°āļāļēāļĢ override āļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļĄāļāļāļ
Reference:
Last updated
Was this helpful?