⊗tsSpIfExp 28 of 37 menu

TypeScript да ООП да интерфейсларни кенгайтириш

TypeScript да интерфейслар бир-биридан мерос олишлари мумкин. Бу ўзаро таъсир интерфейсларни кенгайтириш деб аталади. Келинг, мисолда кўрамиз. Фарз қилайлик, бизда ISize интерфейси мавжуд:

interface ISize { height: number; width: number; }

ISize ни кенгайтирадиган IStyle интерфейсини ясаймиз:

interface IStyle extends ISize { color: string; }

Энди IStyle интерфейсини амалга оширадиган Figure синфини ясаймиз. Бизнинг синф ўзининг интерфейсининг хам, унинг ота-онасининг хам xусусиятларини амалга ошириши керак. Бунни амалга оширамиз:

class Figure implements IStyle { height: number; width: number; color: string; constructor(height: number, width: number, color: string) { this.height = height; this.width = width; this.color = color; } }

Ишлашини текширамиз:

let fig = new Figure(130, 200, 'green'); console.log(fig);

salary ва language xусусиятларига эга IProgrammer интерфейсини яратинг. Бу интерфейс name, birthday xусусиятларига эга IUser дан мерос олсин.

IProgrammer ни амалга оширадиган Employee синфини ясанг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш