Pse trashëgimia e shumëfishtë nuk është e mundur në C#?
Pse trashëgimia e shumëfishtë nuk është e mundur në C#?

Video: Pse trashëgimia e shumëfishtë nuk është e mundur në C#?

Video: Pse trashëgimia e shumëfishtë nuk është e mundur në C#?
Video: Burri qëndroi 6 vite larg familjes,gruaja: Mësova se bashkëjetonte me një gjermane,nuk e pranova dot 2024, Mund
Anonim

C# bën jo mbështetje trashëgimi e shumëfishtë , sepse ata arsyetuan se duke shtuar trashëgimi e shumëfishtë shtoi shumë kompleksitet në C# duke ofruar shumë pak përfitim. Në C#, klasat janë vetëm lejohet te trashëgojnë nga një klasë me prind të vetëm, e cila quhet single trashëgimisë.

Po kështu, pse nuk lejohet trashëgimia e shumëfishtë?

Java mbështet trashëgimi e shumëfishtë vetëm përmes ndërfaqeve. Një klasë mund të zbatojë çdo numër ndërfaqesh, por mund të zgjerojë vetëm një klasë. Trashëgimia e shumëfishtë nuk mbështetet sepse çon në një problem vdekjeprurës me diamantin. Një ndërfaqe është një kontratë e gjërave që klasa juaj duhet të zbatojë.

Dikush mund të pyesë gjithashtu, a mund të trashëgojmë ndërfaqe të shumta në C#? Ndërfaqet janë si marrëveshje apo "kontrata" mbi atë klasë mund te bej . Klasat mund kanë ndërfaqe të shumta , por klasat nuk munden trashëgojnë shumëfish klasat. Klasat duke trashëguar nga më shumë se një klasa njihet si të shumëfishta - trashëgimisë . C# bën nuk lejoj të shumëfishta - trashëgimisë.

Këtu, cili është problemi i Diamantit në C# me trashëgimi të shumëfishtë?

" problemi i diamantit "është një paqartësi që lind kur dy klasa B dhe C trashëgojnë nga A, dhe klasa D trashëgon nga të dy B dhe C. Nëse ka një metodë në A që B dhe C e kanë anashkaluar, dhe D nuk e anulon atë, atëherë cila klasë e metodës e bën D trashëgojnë : ajo e B, apo ajo e C?

Çfarë është trashëgimia e shumëfishtë në C# me shembull?

C# nuk lejon trashëgimi e shumëfishtë me klasa por mund të zbatohet duke përdorur ndërfaqen. Arsyeja është: Trashëgimia e shumëfishtë shtoni shumë kompleksitet me pak përfitim. Ka shanse të mëdha për të konfliktuar anëtarët e klasës bazë. Trashëgimia me ndërfaqe ofron të njëjtën punë të trashëgimi e shumëfishtë.

Recommended: