Author Dusty Phillips Reviewers


>>> init = HouseRental.prompt_init()



Download 2,95 Mb.
Pdf ko'rish
bet95/183
Sana20.07.2022
Hajmi2,95 Mb.
#831085
1   ...   91   92   93   94   95   96   97   98   ...   183
Bog'liq
python3-oop

>>> init = HouseRental.prompt_init()
Enter the square feet: 1
Enter number of bedrooms: 2
Enter number of baths: 3
Is the yard fenced? (yes, no) no
Is there a garage? (attached, detached, none) none
How many stories? 4
What is the monthly rent? 5
What are the estimated utilities? 6
www.it-ebooks.info


Chapter 3
[
 91 
]
Is the property furnished? (yes, no) no
>>> house = HouseRental(**init)
>>> house.display()
PROPERTY DETAILS
================
square footage: 1
bedrooms: 2
bathrooms: 3
HOUSE DETAILS
# of stories: 4
garage: none
fenced yard: no
RENTAL DETAILS
rent: 5
estimated utilities: 6
furnished: no
It looks like it is 
working fine. The 
prompt_init
method is prompting for initializers to 
all the super classes, and 
display()
is also cooperatively calling all three superclasses.
The order of the inherited classes in the preceding example is important. 
If we had written 
class HouseRental(House, Rental)
instead of 
class HouseRental(Rental, House)

display()
would not have 
called 
Rental.display()
! When 
display
is called on our version of 
HouseRental
, it refers to the 
Rental
version of the method, which calls 
super.display()
to get the 
House
version, which again calls 
super.
display()
to get the property version. If we reversed it
display
would refer to the 
House
class's 
display()
. When super is called, it 
calls the method on the 
Property
parent class. But 
Property
does 
not have a call to 
super
in its 
display
method. This means 
Rental
class's 
display
method would not be called! By placing the inheritance 
list in the order we did, we ensure that 
Rental
calls 
super
, which then 
takes care of the 
House
side of the hierarchy. You might think we could 
have added a 
super
call to 
Property.display()
, but that will fail 
because the next superclass of 
Property
is 
object
, and 
object
does 
not have a 
display
method. Another way to fix this is to allow 
Rental
and 
Purchase
to extend the 
Property
class instead of deriving 
directly from 
object
. (Or we could modify the method resolution order 
dynamically, but that is beyond the scope of this book.)
www.it-ebooks.info


When Objects Are Alike

Download 2,95 Mb.

Do'stlaringiz bilan baham:
1   ...   91   92   93   94   95   96   97   98   ...   183




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish