001    
002    import java.io.*;
003    
004     /** 
005      * Konto version S.
006      * This class is serializable.
007      * Uses synchronized methods to display, add and remove money 
008      * from the account.
009      * @author Heinz Kredel.
010      */
011    public class KontoS implements Konto, Serializable {
012    
013        private double stand;
014    
015        public KontoS() { stand = 0.0; }
016    
017        public KontoS(double a) { stand = a; }
018    
019    
020    /**
021     * @return stand.
022     */
023        public synchronized double zeigeGeld() { 
024            Work.schaffen(20);
025            return stand;
026        }
027    
028    
029    /**
030     * @param b amount to put on account.
031     * @return s current account balance.
032     */
033        public synchronized double putGeld(double b) { 
034            double s = stand + b;
035            Work.schaffen(20);
036            stand = s;
037            return s;
038        }
039    
040    
041    /**
042     * @param b A Double, amount to get from account.
043     * @return s A Double, returns actual balance.
044     */
045        public synchronized double getGeld(double b) { 
046           double s = stand - b;
047            Work.schaffen(20);
048            stand = s;
049            return s;
050        }
051    
052    }