Java-Swing Làm ứng dụng cho máy ATM
-
Mình đang có 2 bảng USERS (id, username, password) ; MONEY(id, amount, numb): id int primary key
-
Mình đã tạo xong swingLogin (nhập user, pass) xong thì hiện ra Button “xem số dư” …
-
Mình đã tạo xong Hàm CheckAmount " select amount from MONEY where id = ? " (nhập id vào cho nó select)
-
Giờ khi mình viết Hàm GetId lấy id từ USERS
-
Để khi Action Button "xem số dư " mình gọi hàm GetId để nhập vào Hàm CheckAmount
-
“số dư của bạn là” + CheckAmount(GetId) +“VND” ;
-
Vậy viết cái Hàm GetId kiểu gì vậy các bác, mình nghĩ mãi mà chưa ra đc ???
Khi đăng nhập xong sao bạn không trả về id user luôn?
Nếu username của bác không sử dụng dấu tiếng Việt thì có thể viết hàm
getId(String username)
như sauHoặc sau khi đăng nhập thành công thì get ra đối tượng Users luôn rồi lưu vào biến toàn cục của class xử lý. Logout thì reset biến đó đi
Đúng rồi đó mình cũng làm 2 cách như 2 bác đó.
Nhưng mà ở Class CheckAmount khi mình gọi ra GetId(username) hoặc CheckLogin(username,password)
thì đều phải truyền username or password vào.
VD : CheckAmount(GetId(username));
username này thì mình lấy ở đâu.
Vì mình viết mỗi Action Button một Class riêng nên username và password chỉ nhập ở CheckLogin
Còn những Class kia mình ko biết gọi nó ra kiểu gì
Bạn có biết khái niệm Singleton không ? Đó là class mà chỉ có duy nhất 1 object được khởi tạo, và được sử dụng bởi các object khác trong 1 application.
VD:
Done, nếu kiểm tra user có tồn tại ttrong database thì bắt đầu gọi phương thức getInstance từ class CurrentUser để tạo mới CurrentUser object (nếu như chưa khởi tạo) rồi pass username, password vào object này. Nếu muốn lấy username, password của user hiện tại thì gọi lại object đó từ getInstance() rồi lấy data của nó thôi
Tham khảo thêm về Singleton: http://www.oodesign.com/singleton-pattern.html
Ok đê mình làm thử xem !!!
Mình có edit lại vì có sai sót, bạn có thể xem lại