Buni qiymat sifatida ishlatishingiz mumkin bo'lganidek , uni tur sifatida ham ishlatishingiz mumkin ( 50-betdagi “Buni yozish” da qilganimiz kabi ). Sinflar bilan ishlaganda, bu tur usullarning qaytish turlarini izohlash uchun foydali bo'lishi mumkin.
Set ma’lumotlar strukturasining soddalashtirilgan versiyasini tuzamiz : to‘plamga raqam qo‘shish va berilgan raqam to‘plamda bor yoki yo‘qligini tekshirish. Siz buni shunday ishlatasiz:
ruxsat bering o'rnatish = yangi To'plam . qo'shing ( 1 ). qo'shing ( 2 ). qo'shing ( 3 ) to'plam . ( 2 ) // haqiqiy to'plamga ega . ega ( 4 ) // noto'g'ri
has usulidan boshlab Set sinfini aniqlaymiz :
sinf { oʻrnatish
ega ( qiymat : raqam ) : mantiqiy {
// ...
}
}
Qo'shishga nima deysiz ? Add qo'ng'iroq qilganingizda , siz o'rnatish misolini qaytarib olasiz . Biz buni quyidagicha yozishimiz mumkin:
sinf Oʻrnatish {
ega ( qiymat : raqam ) : mantiqiy {
// ...
}
qo'shish ( qiymat : raqam ) : Oʻrnatish {
super
// ...
}
}
Hozirgacha juda yaxshi. To'plamni pastki sinfga olishga harakat qilsak nima bo'ladi ?
sinf Mutable Set uzaytiradi { o'chirish ( qiymat : raqam ) ni o'rnating : mantiqiy {
// ...
}
}
Albatta, Set ning qo'shish usuli hali ham Set ni qaytaradi , biz quyi sinfimiz uchun MutableSet bilan bekor qilishimiz kerak bo'ladi:
sinf Mutable Set uzaytiradi { o'chirish ( qiymat : raqam ) ni o'rnating : mantiqiy {
// ...
}
qo'shish ( qiymat : raqam ) : MutableSet {
// ...
}
}
buni qaytaradigan har bir usul uchun imzoni bekor qilishingiz kerak . Va agar siz matn terish mashinasini rozi qilish uchun har bir usulni bekor qilishingiz kerak bo'lsa, asosiy sinfingizdan umuman meros olishning nima keragi bor?
buni TypeScript ga siz uchun ishni bajarishiga ruxsat berish uchun qaytarish turidagi izoh sifatida ishlatishingiz mumkin :
Do'stlaringiz bilan baham: |