使用代碼模擬實(shí)物時(shí),你可能會發(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ì)地描述電瓶都可以榜聂,且不會導(dǎo)致ElectricCar 類混亂不堪。下面再給Battery 類添加一個(gè)方法嗓蘑,它根據(jù)電瓶容量報(bào)告汽車 的續(xù)航里程:
battery_size.py
新增的方法get_range() 做了一些簡單的分析:如果電瓶的容量為70kWh须肆,它就將續(xù)航里程設(shè)置為240英里匿乃;如果容量為85kWh,就將續(xù)航里程設(shè)置為270英里豌汇,然后報(bào)告 這個(gè)值幢炸。為使用這個(gè)方法,我們也通過汽車的屬性battery 來調(diào)用它瘤礁。