onko visual basicissa periytymistä?
Minulla on siis kaksi muuttujaa jotka hakevat tietonsa Autot Typestä
Ensimmäinen muuttuja on henkilöautot ja toinen kuorma-autot.
Kuormaautot tarvitsevat kaikki samat tiedot kuin henkilautot mutta lisäksi ne tarvitsevat painon.
Onko siis mahdollista tehdä Type joka kopioi toisen typen tiedot ja lisää pari omaa.
Tällainen se on:
Public Type Autot
index As Integer
nimi As String
vari As Integer
vuosimalli As Integer
'------------------- ---tarvitsee vainkuorma-autoissa
paino As Integer
End Type
Public henkiloautot() As Autot
Public kuorma-autot() As Autotja tällaiseksi sen haluaisin
Public Type Autot
index As Integer
nimi As String
vari As Integer
vuosimalli As Integer
End Type
Public Type kAutot
HAETAAN Auto TYPESTA
paino As Integer
End Type
Public henkiloautot() As Autot
Public kuorma-autot() As kAutotSamojen kenttien määritys tuolla tavalla ei onnistu, vaan joudut kirjoittamaan ne uudestaan jokaisen tyypin kuvaukseen. Käytännössä samojen kenttien kirjoitus on aika pieni vaiva, kun ohjelmassa on harvemmin kovin monta eri tyyppiä, mutta jos haluat, voit myös luoda tyypit sisäkkäin seuraavan mallin mukaisesti:
Private Type ATiedot
index As Integer
nimi As String
vari As Integer
vuosimalli As Integer
End Type
Private Type Auto
tiedot As ATiedot
End Type
Private Type KAuto
tiedot As ATiedot
paino As Integer
End TypeJos autoja ja kuorma-autoja kuitenkin käsitellään pohjimmiltaan samalla tavalla, voisi olla järkevää käyttää molemmissa samaa tyyppiä, jossa on kaikki mahdolliset kentät, mutta ylimääräisiä kenttiä käytetään ainoastaan silloin, kun kyseessä on kuorma-auto. Tällöin täytyy olla vielä yksi kenttä, joka ilmoittaa auton tyypin. Nyt jos kaikkia autoja täytyy tutkia vaikkapa silmukassa, samalla kertaa voi käsitellä sekä tavalliset että kuorma-autot.
Aihe on jo aika vanha, joten et voi enää vastata siihen.