Nyob rau hauv TypeScript, kev sib txuas kuj tseem tuaj yeem txuas ntxiv cov chav kawm, tab sis tsuas yog nyob rau hauv txoj kev uas cuam tshuam nrog. Thaum ib qho kev sib txuas txuas ntxiv mus rau chav kawm, qhov kev sib txuas suav nrog txhua tus neeg hauv chav kawm (public thiab ntiag tug), tab sis tsis muaj chav kawm siv.
Puas tau txuas txuas ntxiv rau lwm chav?
Ib qho kev sib txuas tuaj yeem txuas ntxiv mus rau lwm qhov sib txuas hauv tib txoj kev uas cov chav kawm tuaj yeem txuas ntxiv rau lwm chav. Lo lus tseem ceeb txuas ntxiv yog siv los txuas ntxiv qhov cuam tshuam, thiab tus me nyuam interface tau txais txoj hauv kev ntawm niam txiv interface.
Puas yog qhov sib txuas txuas ntxiv rau chav kawm paub daws teeb meem?
Interface tsis tuaj yeem muab kev siv ntawm chav kawm paub daws teeb meem. Inheritance vs Abstraction: Java interface tuaj yeem siv tau siv lo lus tseem ceeb "ua" thiab cov chav kawm paub daws teeb meem tuaj yeem yog txuas ntxiv siv lo lus "extends".
Yuav ua li cas rau nruab ib chav kawm?
Ib chav kawm tuaj yeem siv ntau dua ib qho kev sib txuas. Ib qho interface tuaj yeem txuas rau lwm qhov sib cuam tshuam lossis cuam tshuam (ntau dua ib qho interface). Ib chav kawm uas siv interface yuav tsum siv txhua txoj hauv kev hauv interface. Txhua txoj hauv kev yog pej xeem thiab paub daws teeb meem.
Dab tsi tuaj yeem cuam tshuam txuas ntxiv?
Ib qho interface tuaj yeem txuas ntxiv lwm qhov cuam tshuam, ib yam li chav kawm subclass lossis txuas ntxiv rau lwm chav. Txawm li cas los xij, txawm hais tias ib chav kawm tuaj yeem txuas tau tsuas yog ib chav kawm xwb, ib qho kev sib txuas tuaj yeem txuas tau ntau qhov sib cuam tshuam.