Avatar billede monir Nybegynder
15. december 2003 - 21:15 Der er 26 kommentarer og
1 løsning

Indkorporering af subklasser

Hvordan bygger man en subklassse ind i en superklasse
Avatar billede arne_v Ekspert
15. december 2003 - 21:16 #1
Hvis A er super og B er sub så erklærer man dem som:

public class A {
}

og

public class B extends A {
}
Avatar billede monir Nybegynder
15. december 2003 - 21:20 #2
Sådan her???

public class signs
{
      {
      public class doorsign_64 extends signs
      }
     
      public Vector signs;
        String text, images;
       
        public signs(String textb, String imagesb)
        {
            text = textb;
            images = imagesb;
            signs = new Vector();
        }
       
        public String toString()
        {
            return text;
        }
       
        public void showsigns()
        {
            System.out.println("Sign text: " + text);
            System.out.println("sign image; " + images);
            System.out.println();
        }
       
}
Avatar billede monir Nybegynder
15. december 2003 - 21:21 #3
Så skriver den illegal start of expression
Avatar billede arne_v Ekspert
15. december 2003 - 21:23 #4
Nej.

signs.java
-----------

public class signs
{
   
      public Vector signs;
        String text, images;
     
        public signs(String textb, String imagesb)
        {
            text = textb;
            images = imagesb;
            signs = new Vector();
        }
     
        public String toString()
        {
            return text;
        }
     
        public void showsigns()
        {
            System.out.println("Sign text: " + text);
            System.out.println("sign image; " + images);
            System.out.println();
        }
     
}

doorsign_64.java
----------------

public class doorsign_64 extends signs {
    public doorsign_64() {
        super("door_64", "????");
    }
}
Avatar billede arne_v Ekspert
15. december 2003 - 21:24 #5
Jeg gættede naturligvis på constructoren - den skal muligvis være
anderledes.
Avatar billede monir Nybegynder
15. december 2003 - 21:25 #6
den skriver class or interface expected
Avatar billede arne_v Ekspert
15. december 2003 - 21:28 #7
Hvor ?
Avatar billede monir Nybegynder
15. december 2003 - 21:30 #8
Har mistet overblikket lidt det ser sådan ud nu, og fejlmeddelelsen lyder: illegal start of expression ved public doorsign_64




import java.util.*;

public class signs
{
     
      public Vector signs;
        String text, images;
       
        public signs(String textb, String imagesb)
        {
            text = textb;
            images = imagesb;
            signs = new Vector();
        }
       
        public String toString()
        {
            return text;
        }
       
        public void showsigns()
        {
            System.out.println("Sign text: " + text);
            System.out.println("sign image; " + images);
            System.out.println();
        }
   
}
public class doorsign_64 extends signs
  {
      {
      public doorsign_64()
      {
        super("door_64", "????");
      }

  }
Avatar billede monir Nybegynder
15. december 2003 - 21:32 #9
public class doorsign_64
{
    public Vector doorsign_64;
    String roomNumber, accesories;
   
    public doorsign_64(String roomNumberb, String accesoriesb)
    {
        accesories = accesoriesb;
        roomNumber = roomNumberb;
        doorsign_64 = new Vector();
       
    }
   
    public String toString()
    {
        return roomNumber;
    }
   
    public void ShowSubSign()
    {
        System.out.println("Room Number: " + roomNumber);
        System.out.println("Accesories: " + accesories);
        System.out.println();
    }
}
   

Her er den anden klasse
Vi har siddet i 12 stive timer med rapport og programmering så vi er lidt møre
Avatar billede arne_v Ekspert
15. december 2003 - 21:35 #10
public class doorsign_64
{
    public Vector doorsign_64; // jeg tror at I skal kalde den noget andet
Avatar billede monir Nybegynder
15. december 2003 - 21:40 #11
Vi har kaldt den doorsignSmall men den skriver stadig illegal start of expression
Avatar billede arne_v Ekspert
15. december 2003 - 21:42 #12
doorsign_64 definitionen i den første fil skal slettes

og

der skal en

extends sign

på i den anden fil.
Avatar billede monir Nybegynder
15. december 2003 - 21:43 #13
???
er den første fil signs?
Avatar billede _carsten Nybegynder
15. december 2003 - 21:45 #14
Jeg ved ikke om det her hjælper

class DownUnder{
   
    public void hvorfra(){
        System.out.println("Det er fra DownUnder");
    }
}

public class Main extends DownUnder{

    public Main() {
        hvorfra();
    }

    public static void main(String[] args) {
        new Main();
    }
}
Avatar billede arne_v Ekspert
15. december 2003 - 21:47 #15
signs.java
----------

import java.util.*;

public class signs
{
   
      public Vector signs;
        String text, images;
     
        public signs(String textb, String imagesb)
        {
            text = textb;
            images = imagesb;
            signs = new Vector();
        }
     
        public String toString()
        {
            return text;
        }
     
        public void showsigns()
        {
            System.out.println("Sign text: " + text);
            System.out.println("sign image; " + images);
            System.out.println();
        }
 
}

doorsign_64.java
----------------

public class doorsign_64 extends signs
{
    public Vector doorsign_64;
    String roomNumber, accesories;
 
    public doorsign_64(String roomNumberb, String accesoriesb)
    {
        accesories = accesoriesb;
        roomNumber = roomNumberb;
        doorsign_64 = new Vector();
     
    }
 
    public String toString()
    {
        return roomNumber;
    }
 
    public void ShowSubSign()
    {
        System.out.println("Room Number: " + roomNumber);
        System.out.println("Accesories: " + accesories);
        System.out.println();
    }
}
Avatar billede monir Nybegynder
15. december 2003 - 21:53 #16
Den forbinder klasserne men kan ikke compile subklassen
Får ingen fejlmeddelelser.
Avatar billede arne_v Ekspert
15. december 2003 - 21:57 #17
Hvordan ved I at den ikke vil compile når I ingen fejl får ?
Avatar billede arne_v Ekspert
15. december 2003 - 21:58 #18
Der mangler iøvrigt

import java.util.*;

i sub klassen.
Avatar billede monir Nybegynder
15. december 2003 - 22:00 #19
Den blev ved at skrive compiling. Vi restartede bluej og nu har vi fået en fejl når vi compiler cubklassen.
Den skriver: signs(java.lang.String.javalang.String) in signs cannot be applied to ().
Jeg er et stort?
Avatar billede arne_v Ekspert
15. december 2003 - 22:03 #20
Der mangler et kald af super klassens constructor.
Avatar billede monir Nybegynder
15. december 2003 - 22:04 #21
Hvordan kalder man den
Avatar billede arne_v Ekspert
15. december 2003 - 22:05 #22
import java.util.*; // <---------------- import

public class doorsign_64 extends signs // <-----------extends
{
    public Vector doorsignSmall; // <------------- nyt navn
    String roomNumber, accesories;

    public doorsign_64(String roomNumberb, String accesoriesb)
    {
        super("????", "????"); // <------------ vigtigt
        accesories = accesoriesb;
        roomNumber = roomNumberb;
        doorsign_64 = new Vector();
   
    }

    public String toString()
    {
        return roomNumber;
    }

    public void ShowSubSign()
    {
        System.out.println("Room Number: " + roomNumber);
        System.out.println("Accesories: " + accesories);
        System.out.println();
    }
}
Avatar billede arne_v Ekspert
15. december 2003 - 22:05 #23
Jeg ved ikke havd argumenterne skal være, men signs constructor har
stadig 2 argumenter.
Avatar billede monir Nybegynder
15. december 2003 - 22:15 #24
Vi har en hovedfil også
Vil du hjælpe os med den for yderligere 100 points
Avatar billede _carsten Nybegynder
15. december 2003 - 22:17 #25
I skal bare kalde/initierer signs med 2 parametre

new signs(parameter1, parameter2);
Avatar billede arne_v Ekspert
15. december 2003 - 22:32 #26
Hvad er problemet med den hovedfil ?
Avatar billede monir Nybegynder
15. december 2003 - 22:34 #27
Jeg ved ikke om der er noget...
Vi har nørklet lidt med den og fået løst problemerne..
Det er ikke så avanceret det vi laver men det virker da i det mindste.
Tusind tak for hjælpen indtil videre.
Vi vender jo nok tilbage ;-)
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
Kurser inden for grundlæggende programmering

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