Dator > hur man skapar ett sparkonto klass med java

  • hur man skapar ett sparkonto klass med java


  • När du skapar en klass för att modellera information för ett sparkonto i Java , ett antal särskilda överväganden spelar in . Den viktigaste av dessa är en subtil svaghet i Java genomförandet av flottören och dubbel primitiva datatyper som gör att de ibland tillbaka något felaktiga svar på aritmetiska operationer. Dessa felaktigheter , i de flesta fall , skulle vara försumbar. Men när det handlar om register över valuta , där små felaktigheter kan lägga till upp till dramatiska , verkliga konsekvenser över tid , kan de bli allvarliga .

    Du behöver :
    Computer
    . Java IDE .
    Java Development Kit .
    Java Runtime Environment .


    1 .
    Skapa en SavingsAccount klass . Om du använder en specialiserad Java IDE , det finns säkert en möjlighet att skapa skelett klasser automatiskt för dig i menyn Arkiv . Annars helt enkelt skapa en fil som heter " SavingsAccount. java " och skriver följande info i den : .

    /**
    * Denna klass representerar information som är gemensam för alla sparkonton
    * /
    public class SavingsAccount {

    //Allt annat i handledningen kommer att skrivas i detta utrymme !

    }
    2 .
    Deklarera klassen fälten . Vid minsta , kommer du förmodligen vill lagra ett kontonummer , aktuellt saldo , en lista över kontoinnehavare , och ett register över alla transaktioner på kontot . Skriv följande i klassen :

    /**
    * Kontonumret
    * /
    String kontonummer ,

    /* . *
    * Den nuvarande balansen . Använd aldrig flöten eller fördubblas för valuta! Det finns felaktigheter i float och dubbla aritmetiska
    * /
    privat BigDecimal balans .

    /**
    * Detta lagrar en lista med namn kontoinnehavaren som en sträng . Ett alternativ kan vara att skapa en kontoinnehavaren klass , och butik som här
    * /
    ArrayList kontohavare=new ArrayList () ; .

    /**
    * En historia av transaktioner utförs på kontot . Återigen skulle ett alternativ vara att skapa en Transaktion klass för att hålla mer information än det belopp för transaktionen
    * /
    privat ArrayList transaktioner=new ArrayList () ;

    Dokumentera ditt arbete är viktigt att koden läsbarhet och framtida underhåll , så att inte försumma din JavaDoc kommentarer .

    En mycket viktig sak du bör märka är att balans och transaktioner som inte är representerade som flöten eller dubbel , utan snarare med klassen BigDecimal . BigDecimal är en långsammare och mer minneskrävande metod för lagring flyttal . Men saknar man de små felaktigheter i flottören och dubbla primitiver . Eftersom du har att göra med valuta , om du hellre noggrannhet i verksamheten till de små vinster som flyter och dubbel i hastighet och minne.
    3 .
    Skapa en konstruktor . I de flesta klasser , du vill att överbelasta din konstruktören , det vill säga du vill ha mer än en metod för att bygga ett nytt konto instans . Du kan själv bestämma vilken sorts konstruktorer kommer att passa dina behov , men minst den bör det finnas en konstruktor för att skapa ett nytt konto får ett kontonummer och en start balans , så lägg till följande metod i din klass :

    /**
    * Skapa ett nytt konto
    * @ param kontonummer det nya kontots nummer
    * @ param utjämna kontot börjar * balans
    /
    SavingsAccount ( String kontonummer , BigDecimal balans ) {
    detta . kontonummer=kontonummer ,
    this. balance=balans ,
    }
    4
    Skapa en balans " get " och en performTransaction metod . Det är standard Objektorienterad programmering praktiken att skapa get-och set-metoder för alla fält i en klass . Detta är dock olämpligt för balansen fältet . Medan du bör definitivt låta resten ses , vill du inte godtyckliga till balansen . Snarare vill att ni alla ändringar i balans att uppstå i form av en transaktion . Därför lägger du till följande två metoder till din klass .

    /**
    * @ return den nuvarande balansen *
    /
    BigDecimal getBalance () {
    återvända balans ,
    }

    /**
    * Genomför en transaktion på kontot .
    * @ param belopp hur mycket att återkalla /deposition ? Återkallar bör vara negativa . Inlåning vara positivt.
    * @ return true framgångsrika . Falskt om misslyckat . Ett alternativ till att använda en boolean här skulle vara att skapa en " TransactionFailedException " klass som kan ge användaren mer information om orsakerna till misslyckandet .
    * /
    boolean performTransaction ( BigDecimal belopp ) {
    if ( amount. compareTo ( BigDecimal. ZERO ) == -1 ) {
    //Detta är ett uttag
    Om ( . amount. abs ( ) compareTo ( balans ) == 1 ) {
    //Den återkalla beloppet är större än den återstående
    return false ; .
    } else {
    //Det finns tillräckligt med pengar för att täcka tillbaka . Ändra balansen och logga transaktionen .
    balans=balans . Lägg till ( belopp ) ,
    transactions. add (belopp ) ;
    return true ; }

    } else {
    //Detta är en deposition . Lägg till den balans och logga transaktionen
    saldo=balance. add (belopp ) ;
    transactions. add (belopp ) ;
    return true ; }

    }


    Detta ger ditt sparkonto klass med minsta man behöver för att fungera , men det finns fortfarande förbättringar som kan göras till den . Kontoinnehavaren och transaktioner skulle vara deras egna klasser , snarare än enkla strängar och BigDecimals , eftersom du kanske vill lagra mer information om en transaktion än att bara gällde beloppet .


Previous:Vilka är fördelarna med Java uppgradera ? Next:vad är filändelsen politik ?





Relaterade artiklar


  • hur man använder Logitech Z Cinema med ett Creative SoundBlaster ljudkort
  • Hur man testar datorns moderkort
  • kan du uppgradera Acer Aspire?
  • Java 5 vs Java 6
  • hur till över klockan Pentium D 805-processor
  • cpu information på en stationär
  • hur du tar bort tangentbordet på Alienware m9700
  • hur mörkare skriva på en Dell Latitude D430
  • specifikationerna för ASUS Lamborghini
  • hur du anpassar en Samsung laptop