---
title: "Multipelt arv"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/28353-multipelt-arv"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "ps"
published: "2001-10-24T18:28:00.000Z"
updated: "2001-10-26T14:41:00.000Z"
replies: 13
views: 640
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/28353-multipelt-arv"
---

# Multipelt arv

## #1 — ps, 2001-10-24T18:28Z

Har undrat ett tag nu varför det inte går att ärva från flera klasser i Java.

Nån som har ett bra svar på det?

det funkar i C++ och är inte helt fel.

Java är iofs ett mer strukturerat språk, kanske har med det att göra?

r
stavfel

Permalänk: https://www.webforum.nu/p/28353

## #2 — Chainsaw, 2001-10-24T20:34Z

Av samma anledning som du inte har tillgång till klasser i C. Det finns helt enkelt inte inbyggt i språket.

Permalänk: https://www.webforum.nu/p/402241

## #3 — UlfT, 2001-10-24T21:27Z

Om jag har förstått saken rätt, har de medvetet avstått från den möjligheten för att göra språket enkelt. Om man inte tänker sig för, går det att krångla till allt ganska ordentligt med multipelt arv.

Permalänk: https://www.webforum.nu/p/402242

## #4 — sgtpepper, 2001-10-24T21:28Z

Med multipelt arv kommer problem med ett allt för komplicerat språk med komplexa och ineffektiva implementationer utan att det egentligen tillför något av riktigt värde. Det var anledningen till varför det inte infördes i Java, ungefär som med operatoröverlagring, det är en snygg finess, men det orsakar långt mer problem och buggig/komplex kod än det ger fördelar.

I Java har du interfaces att tillgå, inte riktigt samma sak men de ger nästan lika mycket som multipelt arv utan att ha dess nackdelar.

\[r\] Tillägg:
En av de huvudsakliga designideérna med Java var att göra ett språk som tog fasta på alla bra saker i C++ men som rensade bort sånt som ofta orsakar problem, som t.ex multipelt arv.

Permalänk: https://www.webforum.nu/p/402243

## #5 — Lime, 2001-10-25T08:17Z

Och med en bra och välstrukturerad systemdesign behövs inte multipla arv.

/Lime

Permalänk: https://www.webforum.nu/p/402244

## #6 — Dinodipp, 2001-10-25T16:18Z

Multipla arv och arv överhuvudtaget är lite överskattat.

Istället för att ärva en implementation så brukar jag använda mig av interfaces och i den klass som skulle varit en barn klass har jag istället en instans av base klassen som jag jobbar med.

bara mina två pesetas.

Permalänk: https://www.webforum.nu/p/402245

## #7 — ps, 2001-10-25T19:57Z

Chainsaw: Jo jag vet att det inte är inbyggt i språket.. bara undrar varför.

Så anledningen är att man inte ska trassla in sig..
Men varför inte låta användaren avgöra?

Permalänk: https://www.webforum.nu/p/402246

## #8 — spango, 2001-10-25T20:40Z

Därför att användare per definition är korkade och gör fel ;)

Permalänk: https://www.webforum.nu/p/402247

## #9 — Jon, 2001-10-25T20:58Z

Det kan ju tilläggas att funktionaliteten av ett multipelt arv i C++ är kompilatorberoende. Om det finns 2 funktioner med samma namn i de två klasserna man ärver från avgör kompilatorn vilken som ska gälla.

Interfacen i Java tvingar en att implementera dem rätt. Det är ju en av grundtankarna i Java att göra det hela plattformsoberoende, så det är ganska logiskt att det inte finns :)

Permalänk: https://www.webforum.nu/p/402248

## #10 — phonkworks, 2001-10-26T11:08Z

Det är väl så också att det blir automatiskt en "renare" objekt orientering. 

Bil ärver av Fordon, fine! Men ärver den av Växt också kan logiken bli en smula bucklig.

phlonk

Permalänk: https://www.webforum.nu/p/402249

## #11 — Vetgirig, 2001-10-26T12:49Z

En viktig aspekt i utformingen av Java var att se till att programmeraren inte kan göra fel. T.ex. ta bort pekarna och multipelt arv. 

Genom att minska programvaru-felen så ökar programmerarnas effektivitet. Dvs det minskar tiden man behöver tillbringa med att försöka hitta komplicerade och krångliga buggar.

Permalänk: https://www.webforum.nu/p/402250

## #12 — UlfT, 2001-10-26T13:14Z

> Men ärver den av Växt också kan logiken bli en smula bucklig.

Då kanske bilens inredning möglar ;) Annars tycker jag det vore bra om rosten skulle kunna försvinna av att det växer fram ny fin plåt :)

Permalänk: https://www.webforum.nu/p/402251

## #13 — phonkworks, 2001-10-26T14:28Z

He he, japp, men då implementerar man Growable istället eller hoppar över Corrodable.

Permalänk: https://www.webforum.nu/p/402252

## #14 — Chainsaw, 2001-10-26T14:41Z

Vore det inte händigt om bilen var Eatable också? Då kunde man åka till jobbet och äta upp delar av taket om det var soligt.

Permalänk: https://www.webforum.nu/p/402253

---

Tråden på webben: https://www.webforum.nu/amne/java/28353-multipelt-arv
