Swift sinflar uchun qanday merosni qo'llab-quvvatlaydi?
Swift sinflar uchun qanday merosni qo'llab-quvvatlaydi?

Video: Swift sinflar uchun qanday merosni qo'llab-quvvatlaydi?

Video: Swift sinflar uchun qanday merosni qo'llab-quvvatlaydi?
Video: A 1000 Year Old Abandoned Italian Castle - Uncovering It's Mysteries! 2024, May
Anonim

Ha Swift va Objective-c da bitta va ko'p darajali meros qo'llab-quvvatlanadi. Swift va boshqa ko'plab tillarda Ko'p meros halokatli olmos va boshqa noaniqliklar kabi tarixiy muammolar tufayli sinflardan foydalanish bilan cheklanadi. Ko'p meros Ba'zi darajada protokollar bo'yicha.

Shu munosabat bilan Swift-da qanday qilib sinfni meros qilib olishim mumkin?

Meros olish farqlovchi asosiy xatti-harakatdir sinflar boshqa turlardan Tezkor.

Kichik sinfning yuqori sinfga ega ekanligini ko'rsatish uchun pastki sinf nomini yuqori sinf nomidan oldin ikki nuqta bilan ajratib yozing:

  1. Class SomeSubclass: SomeSuperclass {
  2. // pastki sinf ta'rifi shu erda.
  3. }

Shuningdek, bilingki, meros qanday turlari bor? Meros turlari C++ da Multiple Meros olish . Ierarxik Meros olish . Ko'p darajali Meros olish . Gibrid Meros olish (Virtual sifatida ham tanilgan Meros olish )

Bundan tashqari, Swift-dagi yakuniy sinf nima?

Yakuniy darslar . Tezkor bizga beradi final kalit so'z faqat shu maqsadda: siz e'lon qilganingizda a sinf sifatida final , boshqa yo'q sinf undan meros olishi mumkin. Bu sizning xatti-harakatingizni o'zgartirish uchun ular sizning usullaringizni bekor qila olmaydi, degan ma'noni anglatadi - ular sizdan foydalanishlari kerak sinf qanday yozilgan edi.

Swift bir nechta merosga qanday erishadi?

Tezkor bilan sinf e'lon qilishimizga ruxsat bermaydi bir nechta asosiy sinflar yoki superklasslar, shuning uchun qo'llab-quvvatlanmaydi ko'p meros sinflar. Subklass mumkin meros faqat bitta sinfdan. Biroq, sinf bir yoki bir nechta protokollarga mos kelishi mumkin.

Tavsiya: