Absztrakt osztályok és interfészek Hasonlóságok: (1) örökölhető (2) nem instansizálható (3) tartalmazhat metóduskijelentéseket (4) A származtatott osztálynak meg kell valósítania a nem implementált módszert Kategória: (1) Az absztrakt alaposztályok definiálhatják a mezőket, tulajdonságokat és metódus megvalósításokat. Az interfészek csak attribútumokat, indexelőket, eseményeket és metódus deklarációkat definiálhatnak, és nem tartalmazhatnak mezőket. (2) Az absztrakt osztály egy hiányos osztály, amely további finomítást igényel, míg az interfész viselkedési norma. A Microsoft egyedi interfészei mindig rendelkeznek egy alkalmas mezővel, amely bizonyítja, hogy azok a "Meg tudom csinálni..." kifejezéseket. ” (3) Az interfészek többször is megvalósíthatók, és az absztrakt osztályokat csak egyetlen személy örökölheti (4) Az absztrakt osztályok jobban definiáltak egy szorosan kapcsolódó osztályok között, míg a legtöbb interfét lazán kapcsolódó osztály, amelyek mind egy adott funkciót valósítanak meg (5) Az absztrakt osztályok olyan fogalmak, amelyek egy sor egymáshoz kapcsolódó objektumból absztrakcióztak, így tükrözik a dolgok belső egységességét; Az interfész egy funkcionális konvenció, amely külső hívásokat kielégít, így tükrözi a dolgok külső jellemzőit (6) Az interfésznek alapvetően nincsenek konkrét öröklési jellemzői, csak olyan módszereket ígér, amelyeket lehet nevezni (7) Az interfészek visszahívások támogatására is használhatók, de az öröklődés nem rendelkezik ezzel a funkcióval (8) Az absztrakt osztályok által megvalósított konkrét metódusok alapértelmezés szerint virtualisok, de az interfész által megvalósító interfész metódusok alapértelmezetten nem virtualisak, természetesen virtuális is lehet őket kinyilvánítani (9) Ha egy absztrakt osztály interfészt valósít meg, a felületen lévő metódus leképezhető az absztrakt osztályra absztrakt metódusként anélkül, hogy implementálni kellene, és a felületben lévő metódus implementálható az absztrakt osztály egyik alosztályában
|