| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Java programmering >> Content
    Sådan oprettes en opsparingskonto klasse med Java
    Når du opretter en klasse til at modellere oplysningerne til en opsparingskonto i Java, en række særlige overvejelser der spiller ind . Den vigtigste af disse er en subtil svaghed i Java-implementering af flyderen og dobbelt primitive datatyper, der får dem til at lejlighedsvis vende lidt upræcise svar på aritmetiske operationer . Disse unøjagtigheder , under de fleste omstændigheder , ville være trivielt. Men når det drejer sig registreringer af valuta , hvor små unøjagtigheder kan tilføje op til dramatiske, virkelige verden konsekvenser over tid , kan de blive alvorligt . Hvad du har brug
    Computer
    Java IDE
    Java Development Kit
    Java Runtime Environment
    Vis Flere Instruktioner
    1

    Opret en SavingsAccount klasse. Hvis du bruger en specialiseret Java IDE , er der sandsynligvis en mulighed for at skabe skelet klasser automatisk for dig i menuen Filer. Ellers skal du blot oprette en fil med navnet " SavingsAccount.java " og skriv følgende info i den: .

    /*** Denne klasse repræsenterer information fælles for alle opsparingskonti * /public class SavingsAccount {
    < p> //Alt andet i tutorial vil blive skrevet på denne plads !

    }
    2

    Erklær klassen felter. I det mindste vil du sandsynligvis ønsker at gemme et kontonummer , den nuværende balance , en liste over kontohavere , og en fortegnelse over alle transaktioner på kontoen. Skriv følgende inde i klassen : Hej

    /*** Kontonummeret * /String kontonummer ,

    /*** Den aktuelle balance. . Brug aldrig flåd eller double for valuta! Der er unøjagtigheder i float og double aritmetiske * /private BigDecimal balance .

    /*** Dette gemmer en liste over kontohaveren navne som en streng. Et alternativ kunne være at skabe en kontohaver klasse og butik, der her * /ArrayList kontohavere = new ArrayList (); .

    /*** En historie af transaktioner, der udføres på den konto. Igen vil et alternativ være at skabe en Transaktion klassen til at holde flere oplysninger end beløbet for den transaktion * /private ArrayList transaktioner = new ArrayList ();

    Dokumentere dit arbejde er vigtigt for kode læsbarhed og fremtidig vedligeholdelse , så ikke forsømme dine javadoc kommentarer .

    En meget vigtig ting du skal bemærke er, at balance og transaktioner er ikke repræsenteret flåd eller doubler , men snarere med klassen BigDecimal . BigDecimal er en langsommere og mere hukommelse -intensive metode til opbevaring kommatal . Men det mangler de små unøjagtigheder i float og dobbelt primitiver . Da du har at gøre med penge, bør du foretrækker præcision i operationer på de små gevinster , som flyder og dobbelt i hastighed og hukommelsesforbrug .
    3

    Opret en konstruktør. I de fleste klasser , vil du ønsker at overbelaste din constructor , det er, vil du ønsker at have mere end én metode til at bygge en ny konto instans. Du kan selv bestemme , hvad slags konstruktører der passer til dine behov, men som minimum bør der være en konstruktør for at skabe en ny konto givet et kontonummer og et udgangspunkt balance, så tilføje følgende metode til at din klasse : Hej

    /*** Opret en ny konto * @ param kontonummer den nye konto nummer * @ param balance kontoen start balance * /SavingsAccount (String kontonummer , BigDecimal balance ) { this.accountNumber = kontonummer , this.balance = balance; }
    4

    Opret en balance " getter " og en performTransaction metode. Det er standard objektorienteret programmering praksis at skabe getters og settere for alle felter i en klasse. Men det er uhensigtsmæssigt for balance felt. Mens du sikkert skulle gøre det muligt balance, der skal ses, behøver du ikke ønsker vilkårlige manipulationer på balance. Snarere du ønsker, at alle ændringer i balancen at forekomme i form af en transaktion. Derfor tilføje følgende to metoder til at din klasse

    /*** @ return den nuværende balance * /BigDecimal getBalance (). {Return balance ;}

    /*** Udfører en transaktion på kontoen. * @ param beløb , hvor meget til at trække /depositum? Trækker bør være negativ. Indskud skal være positiv. * @ Return Sand af succes. Falsk, hvis mislykkedes. Et alternativ til at bruge en boolean her ville være at skabe en " TransactionFailedException " klasse, der kan give brugeren mere information om årsagerne til den manglende . * /Boolean performTransaction ( BigDecimal beløb) {if ( amount.compareTo ( BigDecimal.ZERO ) = = -1 ) {//Dette er en withdrawif ( amount.abs () compareTo (balance) == 1 ) {//det hævede beløb er større end balance.return false; . } else { //Der er penge nok at dække trække sig tilbage. Kan ændre balancen og logge transaction.balance = balance.add (beløb ), transactions.add (beløb ), tilbagevenden sandt ;}} else { //Dette er et depositum . Føj til balancen og log transaction.balance = balance.add (beløb ), transactions.add (beløb ), tilbagevenden sandt ;}}

    Dette giver din opsparingskonto klasse med minimum den har brug for til at fungere, om der stadig er forbedringer , der kan gøres til det. Kontohaver og transaktioner skal være deres egne klasser , snarere end simple Strygere og BigDecimals , da du måske ønsker at lagre mere information om en transaktion end blot det pågældende beløb.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Find den største fælles divisor af to tal i Ja…
    ·Sådan Take Input i Java ved hjælp af en scanner 
    ·Sådan Gør Statiske Flyder i Java 
    ·Hvordan man opbygger en Sti i Eclipse Java 
    ·Sådan Luk alle åbne browservinduer Med Java 
    ·Sådan gentage over en TreeMap 
    ·Java IRC Bot Tutorial 
    ·Sådan installeres Java Runtime 5.0 på Windows XP 
    ·Sådan Start en Java-applet Med Udklipsholder Adgang 
    ·Java og stavekontrol 
      Anbefalede Artikler
    ·Syntaks i en funktion 
    ·Sådan Læs pixels fra Picture Boxes i VB6 
    ·Sådan tilføjes en MySQL driver til VB.NET 
    ·Sådan oprettes Implicitte Structures i ColdFusion 
    ·Sådan oprettes et link til en fil ved hjælp af HTML p…
    ·Sådan Konverter Oktal til Binary i Java 
    ·Sådan arbejder du med XSD filer 
    ·Sådan Roter tekst med JavaScript 
    ·Hvor lang tid går iPhone App Udvikling Take 
    ·Sådan Split flere separatorer i JavaScript 
    Copyright © Computer Viden http://www.computerdk.com