06. juni 2003 - 21:48Der er
17 kommentarer og 1 løsning
problemer med klasser i et program
Hej!
Jeg er igang med at lave en opgave i java, men har lidt problemer med den...Jeg har lavet en basis klasse som hedder "brev" og fra den har jeg så lavet nogle afledte klasser som hedder "standard", "stor" og "maxi". I disse tre klasser har jeg så lavet nogle javakoder, f.eks. i "maxi" ser mine koder ind til videre således ud:
/** * Write a description of class MAXI here. * * @author Anders * @version */ public class MAXI /* extends BREV */ { // instance variables - replace the example below with your own private double længde; private double bredde; private double tykkelse; private double vægt; private String destination;
/** * Constructor for objects of class MAXI */ public MAXI(double v, String d) { vægt = v; destination = d; }
/** * An example of a method - replace this comment with your own * * @param y a sample parameter for a method * @return the sum of x and y */ public double getVægt() { return vægt; } public void setVægt(double v) { vægt = v; } public String getDestination() { return destination; } public void setDestination(String d) { destination = d; } public String toString() { double porto = 0; // <----- if (vægt <= 50) if (destination.equals("Danmark")) { porto = 7.00; }
if (vægt <= 50) if (destination.equals("Europa")) { porto = 14.00; }
if (vægt <= 50) if (destination.equals("Øvrigeudland")) { porto = 19.00; } if (vægt > 50 <= 100) if (destination.equals("Danmark")) { porto = 9.00; }
if (vægt > 50 <= 100) if (destination.equals("Europa")) { porto = 19.00; }
if (vægt > 50 <= 100) if (destination.equals("Øvrigeudland")) { porto = 27.00; } if (vægt > 100 <= 250) if (destination.equals("Danmark")) { porto = 15.00; }
if (vægt > 100 <= 250) if (destination.equals("Europa")) { porto = 26.00; }
if (vægt > 100 <= 250) if (destination.equals("Øvrigeudland")) { porto = 41.00; } if (vægt > 250 <= 500) if (destination.equals("Danmark")) { porto = 24.00; }
if (vægt > 250 <= 500) if (destination.equals("Europa")) { porto = 41.00; }
if (vægt > 250 <= 500) if (destination.equals("Øvrigeudland")) { porto = 61.00; } if (vægt > 500 <= 1000) if (destination.equals("Danmark")) { porto = 32.00; }
if (vægt > 500 <= 1000) if (destination.equals("Europa")) { porto = 65.00; }
if (vægt > 500 <= 1000) if (destination.equals("Øvrigeudland")) { porto = 105.00; } if (vægt > 1000 <= 2000) if (destination.equals("Danmark")) { porto = 40.00; }
if (vægt > 1000 <= 2000) if (destination.equals("Europa")) { porto = 100.00; }
if (vægt > 1000 <= 2000) if (destination.equals("Øvrigeudland")) { porto = 175.00; } return " Vægt: " + vægt + " Porto: " + porto;
} }
Men det jeg så er i tvivl om er, hvad der egentligt skal stå i klassen "brev" eller om den overhovedet er nødvendig at have med....
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Nu er "extends BREV" jo udkommenteret så den er slet ikke med.
Ideen med BREV som basis klasse og STANDARD, STOR og MAXI som afledte klasser er at du kan samle den funktionalitet som logisk set er fælles for alle breve i klassen BREV (og undgå duplikeret funktionalitet).
getVægt/setVægt/getDetsination/setDestination må ihvertfald være fælles for alle breve og derfor kunne flyttes til BREV (sammen med variablene vægt og desitination).
men jeg er meget ny i java, så jeg må hellere gøre det så enkelt som muligt... ved godt jeg ikke bruger længde, bredde og tykkelse, men det kommer. Jeg er bare ikke nået til det endnu
men tror ikke jeg vil rode mig ud i det alt for avancerede....men det er altså ikke forkert at definere det i alle klasserne og droppe en basisklasse? Ved godt at det er dobbeltarbejde, men som det ser ud for mig lige nu, kan jeg bedst holde styr på det, hvis jeg gør det på den måde
Du kan godt: - lave 3 klasser - checke at de virker - lave en tom basis klasse og lade de 3 arve fra den - check at alt stadig virker - flytte fælles funktionalitet op i basis klassen - check at alt stadig virker
kan godt se, hvad du mener...det ville jo være meget smart at gøre det på den måde. Det er en opgave ja...men kurset har ikke varet så lang tid, så forventningerne er ikke så store, men kan selvfølgelig være at det giver lidt ekstra points, hvis man viser at man også kan finde ud af det. Men du har i hvert fald været en stor hjælp...jeg vender evt. tilbage med et nyt spørgsmål på et andet tidspunkt..
Synes godt om
Ny brugerNybegynder
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.