Avatar billede nat Nybegynder
09. maj 2004 - 18:39 Der er 9 kommentarer og
1 løsning

nedarvet klasse

Jeg har en Bil klasse, hvor der findes biler i 2 kategorier (a og b) i a findes (bil1 og bil2) og i b findes (bil3 og bil4).

Koden der vedrører dette ser således ud:
________________________________________________________________

using System;

class MainClass
{
    public class Bil
    {
        private string brand; // bilens mærke
       

        public Bil( string nyBrand)
        {
          brand = nyBrand;
        }

        public virtual void HentBrand()
        {
            brand=brand;
        }

        class ABil:Bil
    {
        public ABil(string nyBrand):base(nyBrand                {
        }
        public override void HentBrand()
        {
                           
           
        }
           
    }// slut ABil klsse
    class BBil:Bil
    {
        public BBil(string nyBrand):base(nyBrand                {
        }
        public override void HentBrand()
        {
               
           
        }
    }
_______________________________________________________

Hvordan får jeg sat at kategorien a kun indeholder bil1 og 2
og kategorien b indeholder bil3 og 4???

Jeg skal senere kunne returnere oplysninger omkring kat. a og
om bil4

Eller kan jeg ikke gøre det på den måde?
Avatar billede burningice Nybegynder
09. maj 2004 - 19:14 #1
hvorfor er det lige at du har brug for at nedarve din Bil-klasse? hvis den eneste forskel er bilens brand, kan du da bare sætte det til noget andet i kategori A og kategori B
Avatar billede nat Nybegynder
09. maj 2004 - 19:24 #2
Ja, det har jeg også tænkt meget over.... for den eneste forskel er bilens brand. Men hvordan sætter jeg så kat a til at indeholde bil1 og 2 og kat b til at indeholde bil3 og 4?? Nogen idéer???
Avatar billede lifo Nybegynder
09. maj 2004 - 19:26 #3
hvad går opgaven ud på ??
jeg forstår ikke rigtigt hvad det er du vil ?
Avatar billede arne_v Ekspert
09. maj 2004 - 19:28 #4
Umiddelbart synes jeg at det lyder som om du vil have bilerne fordelt på
2 kategorier => bil objekterne skal addes til 2 collections.

Enten en ArrayList eller noget type safe.
Avatar billede nat Nybegynder
09. maj 2004 - 19:35 #5
Det er meningen at en bruger skal kunne oprette en bil. De indtaster nogle forskellige oplysninger om bilen og skal så vælge om det kat a eller b. Når de så vælger den ene kategori frem for den anden skal de kunne få to muligheder alt efter om de har valgt a skal de kunne vælge om det er en bil1 eller en bil2, og det samme med kat b.
Det er bare en consol app, så det kan da godt være at jeg bare skal retunere brand;
og så sætte den i main???

I min main ser det nogenlunde så'n her ud:
___________________________________________________
do
        {
            System.Console.WriteLine("1: Opret");
            valg=Console.ReadLine();
           
            switch(valg)
            {
                case"1":Console.Write("Indtast bilens registreringsnummer: ");
                        regnr=Convert.ToInt32(Console.ReadLine());
                        //findes det indtastede regnr i forvejen
                        if(FindIndex(ba, regnr, antalIBrug)!=-1)
                            Console.WriteLine("En bil med dette registreringsnummer er allerede registreret");
                        else
                        {
                            Console.Write("Indtast bilen kategori a eller b:");
                            nyCategory=Console.ReadLine();
                            Console.Write("Indtast Bilens mærke a for bil1 b for bil2 c for bil3 d for bil4: ");
                            nyBrand=Convert.ToString(Console.ReadLine());
                                                               
                        }
                break;
_________________________________________________
men jeg får ikke valgt at det lige præcist er bil1 i kat a, jeg får at det enten er bil1 og bil2 i kata, og det er ikke meningen..

Nogen forslag????
Avatar billede nat Nybegynder
09. maj 2004 - 20:07 #6
Har nedlagt nedarvningen, så jeg bare har:
public string HentBrand()
        {
            return brand;
        }
Avatar billede nat Nybegynder
09. maj 2004 - 20:08 #7
arne_v: Umiddelbart synes jeg at det lyder som om du vil have bilerne fordelt på
2 kategorier => bil objekterne skal addes til 2 collections. ArrayList

Hvorhenne, og hvordan? Jeg er ikke helt med. Kan du hjælpe?
Avatar billede nat Nybegynder
09. maj 2004 - 20:24 #8
tror umiddelbart at jeg har fået løst det. Har som skrevet nedlagt arvning så jeg bare har "bil" der kan have 2 kategorier, og herunder 4 mærker.

Hvilken kat. og hvilken mærke, bliver registreret ved bruger input således:

___________________________________________________________
if (nyCategory=="a")
                            {
                                Console.Write("Indtast Bilens mærke b1 for bil1, b2 for bil2: ");
                                nyBrand=Convert.ToString(Console.ReadLine());
                                if(nyBrand=="b1" || nyBrand=="b2")
                                ba[antalIBrug++]= new Bil(regnr,nyCategory,nyBrand,nyKmCounter,nyAktKmCounter,nyRentet);
                            }
                            else
                            {
                                Console.Write("Indtast Bilens mærke b2 for bil3, b4 for bil4: ");
                                nyBrand=Convert.ToString(Console.ReadLine());
                                if(nyBrand=="b3" || nyBrand=="b4")
                                ba[antalIBrug++]= new Bil(regnr,nyCategory,nyBrand,nyKmCounter,nyAktKmCounter,nyRentet);
                            }
                               
______________________________________________________________________________

Kan ikke lige se om det vil give nogle konsekvenser når jeg skal lave et "valg" der returner info om alle biler i kat.a
Avatar billede nat Nybegynder
09. maj 2004 - 20:38 #9
arne_v & cyberfessor, smider I ikke lige et svar
Avatar billede arne_v Ekspert
09. maj 2004 - 21:33 #10
Det kan jeg godt, men jeg synes ikke at det er meget jeg har bidraget med her ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester