Abstraktas klases un saskarnes Līdzības: (1) var mantot (2) nevar instancēt (3) var saturēt metožu deklarācijas (4) Atvasinātajai klasei jāievieš neieviestā metode Kategorija: (1) Abstraktas bāzes klases var definēt laukus, rekvizītus un metožu ieviešanu. Interfeisi var definēt tikai atribūtus, indeksētājus, notikumus un metožu deklarācijas, un tajos nevar būt lauki. (2) Abstrakta klase ir nepilnīga klase, kurai nepieciešama turpmāka pilnveidošana, bet saskarne ir uzvedības norma. Microsoft pielāgotajām saskarnēm vienmēr ir spējīgs lauks, lai pierādītu, ka tās ir "Es to varu izdarīt..." ” (3) Saskarnes var ieviest vairākas reizes, un abstraktas klases var pārmantot tikai viena persona (4) Abstraktās klases ir vairāk definētas starp cieši saistītu klašu sēriju, bet lielākā daļa saskarņu ir brīvi saistītas klases, kas visas īsteno noteiktu funkciju (5) Abstraktās klases ir jēdzieni, kas abstrahēti no saistītu objektu virknes, tāpēc tie atspoguļo lietu iekšējo kopīgumu; Interfeiss ir funkcionāla konvencija, kas definēta, lai apmierinātu ārējos zvanus, tāpēc tā atspoguļo lietu ārējās īpašības (6) Saskarnei būtībā nav nekādu specifisku mantojuma īpašību, tā sola tikai metodes, kuras var saukt par (7) Saskarnes var izmantot, lai atbalstītu atzvanīšanu, bet mantošanai nav šīs funkcijas (8) Konkrētās metodes, ko īsteno abstraktas klases, pēc noklusējuma ir virtuālas, bet saskarnes metodes klasē, kas īsteno saskarni, pēc noklusējuma, protams, varat arī pasludināt tās par virtuālām (9) Ja abstraktā klase ievieš saskarni, saskarnes metodi var kartēt uz abstrakto klasi kā abstraktu metodi, to neieviešot, un saskarnes metodi var ieviest abstraktās klases apakšklasē
|