Chúng ta sẽ điểm qua "thành tựu vĩ đại" chương trình Quản Lý Sinh Viên Python.
Cho đến lúc này, chúng ta có hai lớp (Class) là SinhVien và QuanLySinhVien cùng với một file Main.py, được sử dụng để khởi tạo menu và điều khiển chương trình quản lý sinh viên.Trước đây, chúng ta "nhồi nhét" tất cả các lớp vào duy nhất một file. Trong ứng dụng này, chúng ta đang làm "bài bản" hơn, mỗi lớp của chương trình, chúng ta sẽ lưu trong một file .py riêng biệt, đồng thời có một file Main.py để điều khiển mọi thứ.
Class SinhVien
class SinhVien:
def __init__(self, id, ten):
self.id = id
self.ten = ten
Class QuanLySinhVien
from SinhVien import SinhVien
class QuanLySinhVien:
listSinhVien = []
def nhapSinhVien(self):
sv = SinhVien("1", "Nguyen Van A")
self.listSinhVien.append(sv)
def showSinhVien(self, listSV):
if (listSV.__len__() > 0):
for sv in listSV:
print(sv.id, sv.ten)
File Main.py
from QuanLySinhVien import QuanLySinhVien
# khởi tạo một đối tượng QuanLySinhVien để quản lý sinh viên
qlsv = QuanLySinhVien()
qlsv.nhapSinhVien()
qlsv.showSinhVien(qlsv.getListSinhVien())
Để chương trình nhìn sạch sẽ hơn, bài bản hơn, chúng ta thống nhất với nhau sẽ tự động xóa những lệnh print() nhằm mục đích test chương trình. Ví dụ chúng ta đã xóa lệnh print("Hello") trong hàm nhapSinhVien().
Quay lại với hàm nhapSinhVien(), cho đến lúc này nó không làm gì hữu ích thật sự, chúng ta cần nhập tên sinh viên từ bàn phím chứ không phải cho sẵn như vậy.
Tạm thời chúng ta sẽ lờ đi sự cần thiết phải có một ID không trùng lặp và tự động. Chúng ta sẽ tạm coi như người sử dụng nhập ID một cách thủ công. Chúng ta sẽ sử dụng hàm input() để nhận thông tin từ bàn phím.
Chúng ta cũng cần một biến để xác định người sử dụng có muốn nhập thêm thông tin sau khi nhập thông tin đầu tiên.
Đây là code của lớp QuanLySinhVien()
from SinhVien import SinhVien
class QuanLySinhVien:
listSinhVien = []
def nhapSinhVien(self):
tiep_tuc = "Y"
while tiep_tuc == "Y":
idSV = input("Nhap ID cua sinh vien: ")
tenSV = input("Nhap Ho Ten sinh vien: ")
sv = SinhVien(idSV, tenSV)
self.listSinhVien.append(sv)
tiep_tuc = input("Tiep tuc ? Y/N ")
def showSinhVien(self, listSV):
if (listSV.__len__() > 0):
for sv in listSV:
print(sv.id, sv.ten)
def getListSinhVien(self):
return self.listSinhVien
Bấm Run để chạy Main.py
Như vậy chúng ta tạm coi như hoàn tất hàm nhapSinhVien(). Chúng ta sẽ thảo luận các hàm khác trong phần tiếp theo. Tất cả các hàm đều sẽ được đặt trong lớp QuanLySinhVien()
Không có nhận xét nào:
Đăng nhận xét