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?