使用代碼模擬實(shí)物時(shí),你可能會(huì)發(fā)現(xiàn)自己給類添加的細(xì)節(jié)越來越多:屬性和方法清單以及文件都越來越長。在這種情況下,可能需要將類的一部分作為一個(gè)獨(dú)立的類提取出來。你可以將大型類拆分成多個(gè)協(xié)同工作的小類。
這里把 狗狗類做了一個(gè)封裝。全部狗狗信息放到doginfo里呢。調(diào)用時(shí):實(shí)例.屬性(相當(dāng)于類).屬性下的屬性或方法。見14和16行。

Python大大的圖

我的圖


Battery.py
這看似做了很多額外的工作,但現(xiàn)在我們想多詳細(xì)地描述電瓶都可以,且不會(huì)導(dǎo)致ElectricCar 類混亂不堪。下面再給Battery 類添加一個(gè)方法,它根據(jù)電瓶容量報(bào)告汽車 的續(xù)航里程:


battery_size.py
新增的方法get_range() 做了一些簡(jiǎn)單的分析:如果電瓶的容量為70kWh,它就將續(xù)航里程設(shè)置為240英里;如果容量為85kWh,就將續(xù)航里程設(shè)置為270英里,然后報(bào)告 這個(gè)值。為使用這個(gè)方法,我們也通過汽車的屬性battery 來調(diào)用它。