Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create two files; a module defining 4 classes and an executable program that tes

ID: 3666292 • Letter: C

Question

Create two files; a module defining 4 classes and an executable program that tests the classes. The module file defines a superclass Edifice (supplied below) and 3 subclasses that you must code.

class Edifice:
def __init__(self,storeys,area):
self.__storeys = storeys
self.__area = area

def show_info(self):
print('Storeys:',self.__storeys,', floor area:',self.__area)

class Home:

inherits from Edifice and adds a numeric attribute for number of bedrooms.
overrides the show_info() method by:
calling the Edifice class show_info() method to display the storeys and area attributes.
printing the purpose of a home and the number of bedrooms.


class Factory:

Inherits from Edifice and adds a string attribute for the product manufactured by the factory.
overrides the show_info() method by:
calling the Edifice class show_info() method to display the storeys and area attributes.
printing the purpose of a factory and the product it manufactures.


class Commercial:

inherits from Edifice and adds a string attribute for the usage of the commercial building.
overrides the show_info() method by:
calling the Edifice class show_info() method to display the storeys and area attributes.
printing the purpose of the commercial building and the usage.
In the executable file's main function:

create a Home instance and execute its show_info() method.
create a Factory instance that manufactures automobiles and execute its show_info() method.
create a Commercial instance to represent an office building and execute its show_info() method.
create another Commercial instance to represent a mall and execute its show_info() method.

SAMPLE OUTPUT
Home
Storeys: 2 , floor area: 3000
For human habitation: 3 bedrooms

Factory
Storeys: 1 , floor area: 300000
For manufacturing automobiles

Commercial
Storeys: 12 , floor area: 48000
Commercial building offices

Commercial
Storeys: 2 , floor area: 100000
Commercial building retailing

Explanation / Answer

class Edifice:
     def __init__(self,storeys,area):
         self.__storeys = storeys
         self.__area = area

    def show_info(self):
         print('Storeys:',self.__storeys,', floor area:',self.__area)

class Home(Edifice):
     def __init__(self,storeys,area,noRooms):
         self.__storeys = storeys
         self.__area = area
         self.__noRooms = noRooms

    def show_info(self):
         print('Storeys:',self.__storeys,', floor area:',self.__area,', Number of Rooms:',self.__noRooms)

class Factory(Edifice):
     def __init__(self,storeys,area,productProperty):
         self.__storeys = storeys
         self.__area = area
         self.__productProperty = productProperty

    def show_info(self):
         print('Storeys:',self.__storeys,', floor area:',self.__area,', Product Property :',self.__productProperty)

class Commercial(Edifice):
     def __init__(self,storeys,area,usage):
         self.__storeys = storeys
         self.__area = area
         self.__usage = usage

    def show_info(self):
         print('Storeys:',self.__storeys,', floor area:',self.__area,', Usage Property :',self.__usage)


home=Home()
home.show_info('2','3000','3')
fact=Factory()
fact.show_info('1','300000','For manufacturing Automobiles')
com=HoCommercialme()
com.show_info('2','100000','Commercial Building Retailing')