Интерфейс қанча бўлсада аждодларга эга бўлиши ёки эга бўлмаслиги ҳам мумуин.Биринчи ҳолда у энг бқори шажарадан бошлаб барча базавий интерфейсларнинг барча элемнтларини мерос қилиб олади.
Классларнинг одиий шажараларидаги кабибазавий интерфейслар умумий ҳулқларни белгилаб беради, уларнинрг авлодлари эса уларни конкретлаштиради ва тўлдиради. Шунингдек, интерфейс-авлодларда ўхшаш сигнатурали ворис эелементларни қайта аниқлайдиган элементларни кўрсатиш мумкин. Бундай ҳолларда элементлан олддин ҳизматчи new сзўини ёзилади. Бу сўз ёрдамида базавий интерфейснинг мос элементи яширилади. Интерфейсни амалга оширувчи класс унинг барча элементларини, шу жумладан мерос қилиб олинганларини ҳам белгилаб бериши керак.
Ҳусусий хамда мерос қилиб толинган элементларига ошкор ҳаволалар мавжуд бўлган интерфейс аждод класслари рўйхатида кўрсатилган бўлиши керак.
Класс ўзининг аждодларининг барча методларини, шу жумладан интерфейсларни амалга оширганларини ҳам мерос қилиб олади. У бу методларни New спецификатори ёрдамида қайта аниқлаши ҳам мумкин, аммо уларга фақат класс объекти орқали мурожаат қилиш мумкин бўлади. Агар мурожаат учун интерфейсга ҳаволалардан фойдаланилса, у ҳолда қайта аниқланмайдиган версия чақирилади:
interface IBase { void A(); }
class Base : IBase { public void A() { ... } }
class Derived: Base { new public void A() { ... } }
... Derived d = new Derived (); d.A(); // Derived.A() чақирилмоқда; IBase id = d; id.A(); // Base.A() чақирилмоқда; Аммо, агар интерфейс класснинг виртуал методи ёрдамида амалга оширилаётган бўлса, унинг авлодда қайта аниқланишидан кейин иҳтириё мурожаат варианти бир ҳил натижага олиб келади. Номни ошкор кўрсатиб амалга оширилган интерфейс методини виртуал деб эълон қилиш таъқиқланган.
Номини авлодлар класси рўйхатида шу интерфейсни амалга оширган авлод–класс билан бир қаторда кўрсатиб интерфейсни такроран амалга ошириш мумкин. Бунда қайта аниқланган базавий методларни амалга оишриш эътиборга олинмайди:
interface IBase { void A(); } class Base : IBase { void IBase.A() { ... } // Derived да фойдаланилмайди } class Derived : Base, IBase { public void A() { ... } } Агар класс бир ҳил сигнатурага эга бўлган класс ва интерфейслардан мерос олади. Бунда мерос қилиб олинган класс методи интерфейсни амлга оширилганлиги тарзида қабул қилинади. Умуман олганда интерфейс амалга оширилганда “мос келувчи” методларнинг мавжудлиги эътиборга олинади. Булар интерфейсни ошкор ёки ошкормас кўринишда амалга оширувчи жорий ёки базавий классда тавсифланган методлар бўлиши мумкин.