什么是接口?
接口只是定義了一些方法,而沒(méi)有去實(shí)現(xiàn),多用于程序設(shè)計(jì)時(shí),只是設(shè)計(jì)需要有什么樣的功能,但是并沒(méi)有實(shí)現(xiàn)任何功能,這些功能需要被另一個(gè)類(lèi)(B)繼承后,由 類(lèi)B去實(shí)現(xiàn)其中的某個(gè)功能或全部功能。
遵循:開(kāi)放封閉原則,依賴導(dǎo)致原則,接口隔離原則,繼承多態(tài)。
編程思想:為子類(lèi)做規(guī)范; 歸一化設(shè)計(jì):幾個(gè)類(lèi)都實(shí)現(xiàn)了相同的方法 抽象類(lèi):最好單繼承,且可以簡(jiǎn)單的實(shí)現(xiàn)功能,接口類(lèi):可以多繼承,且最好不實(shí)現(xiàn)具體功能
在python中接口由抽象類(lèi)和抽象方法去實(shí)現(xiàn),接口是不能被實(shí)例化的,只能被別的類(lèi)繼承去實(shí)現(xiàn)相應(yīng)的功能。
個(gè)人覺(jué)得接口在python中并沒(méi)有那么重要,因?yàn)槿绻^承接口,需要把其中的每個(gè)方法全部實(shí)現(xiàn),否則會(huì)報(bào)編譯錯(cuò)誤,還不如直接定義一個(gè)class,其中的方法實(shí)現(xiàn)全部為pass,讓子類(lèi)重寫(xiě)這些函數(shù)。
方法一:用抽象類(lèi)和抽象函數(shù)實(shí)現(xiàn)方法(適用于單繼承)
方法二:用普通類(lèi)定義接口(推薦)