|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur man skapar ett sparkonto Class Med Java

    När du skapar en klass för att modellera informationen 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 dubbla 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 uppgifter om valuta , där små felaktigheter kan lägga upp till dramatiska , verkliga konsekvenser över tid , kan de bli allvarliga . Saker du behöver
    Computer Review, Java IDE Review, Java Development Kit Review, Java Runtime Environment
    Visa fler instruktioner
    1

    Skapa SavingsAccount klass . Om du använder en specialiserad Java IDE , det finns förmodligen 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 information i det : .

    /*** Denna klass representerar information som är gemensam för alla sparkonton * /public class SavingsAccount {
    < p > //Allt annat i handledningen kommer att skrivas i detta området!

    }
    2

    deklarera klassen fälten . Vid minsta , kommer du förmodligen vill lagra ett kontonummer , den nuvarande balansen , en förteckning över kontoinnehavare , och ett register över alla transaktioner på kontot . Skriv följande i klassen :

    /*** Kontonumret * /String accountNumber ,

    /*** Den nuvarande balansen . . Använd aldrig flöten eller dubbel för valuta ! Det finns felaktigheter i float och double aritmetik * /private BigDecimal balans , .

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

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

    Dokumentera ditt arbete är viktigt för att kodens läsbarhet och framtida underhåll , så inte försumma dina javadoc kommentarer .

    En mycket viktig sak du bör märka är att balans och transaktionerna inte representerade som flöten eller dubbel , utan snarare med klassen BigDecimal . BigDecimal är en långsammare och mer minne - intensiv metod för att lagra flyttal. Den saknar dock de små felaktigheter av flottören och dubbla stammar . Eftersom du har att göra med valuta , bör du föredrar noggrannhet i verksamheten till de små vinster som tillhandahålls av float och fördubblas i hastighet och minne konsumtionen .
    3

    Skapa en konstruktör . I de flesta klasser , men du vill överbelasta konstruktören , som är , vill du ha mer än en metod för att bygga ett nytt konto instans . Du kan själv bestämma vilka typer av konstruktörer kommer att passa dina behov , men vid minsta , bör det finnas en konstruktor för att skapa ett nytt konto givet ett kontonummer och ett startkapital , så lägg till följande metod för att din klass :

    /*** Skapa ett nytt konto * @ param accountNumber det nya kontots nummer * @ param saldo på kontot start balans * /SavingsAccount ( String accountNumber , BigDecimal balans ) { this.accountNumber = accountNumber , this.balance = balans ; }
    4

    Skapa en balans " getter " och en performTransaction metod . Det är standard objektorienterad programmering praxis att skapa get-och set för alla fält i en klass . Detta är emellertid olämpligt för balansen fältet . Medan du bör definitivt ge den balans som skall ses , vill du inte godtyckliga till balansen . Snarare vill du alla ändringar av balansen att uppstå i form av en transaktion . Därför lägger de följande två metoder för att din klass

    /*** @ return aktuellt saldo * /BigDecimal getBalance ( ) . {Return balans ;}

    /*** Utför en transaktion på kontot . * @ param belopp hur mycket att ta ut /deposition ? Återtar bör vara negativ. Insättningar ska vara positiv . * @ Return true om framgångsrik . False om det inte lyckas . 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 en withdrawif ( amount.abs ( ) compareTo ( balans ) == 1 ) { //den återkalla beloppet är större än balance.return false; . } else { //det finns tillräckligt med pengar att täcka tillbaka . Ändra balansen och logga transaction.balance = balance.add ( belopp ) , transactions.add ( belopp ) , return true ; } } else { //Detta är en insättning . Lägg till balansen och logga transaction.balance = balance.add ( belopp ) , transactions.add ( belopp ) , return true ; } }

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

    Tidigare:

    nästa:
    relaterade artiklar
    ·Java JButton & Funktioner
    ·Hur man lär Web Design Snabbt
    ·Java rekursion Tutorial
    ·Hur man installerar ett undertecknat miniprogram i Sun …
    ·Hur man använder switch i Java
    ·Hur du ändrar NetBeans Font
    ·Hur man kompilerar en Java -fil för RSBOT
    ·Lägga till en server Perspective till Eclipse
    ·Hur du itererar genom kartan i Java
    ·Ett bra sätt att organisera klasser med Java
    Utvalda artiklarna
    ·Hur ladda PHP filer från en webbadress
    ·Enhetstestning i Visual Studio Team System
    ·Hur till Öppen JPanel i Java
    ·Hur du överför en videofil med PHP
    ·Hur man tar bort en JavaScript associativ array
    ·Hur man upptäcker robotar i PHP
    ·Hur man skapar en txt-fil från XML med PHP eller ASP
    ·Vilken dator språk använder korta ord Kallas Mnemonic…
    ·Hur man lyssnar på ett tangentbord i Java
    ·Hur att skapa projekt med C Programmering
    Copyright © Dator Kunskap http://www.dator.xyz