Bài 11 .Chương trình quản lý dùng cho một học viện nghiên cứu giảng dạy và ứng dụng. Yêu cầu xác định access modifier , cài đặt getter , cài đặt constructor không có tham số và tham số đầy đủ . Yêu cầu cần xây dựng chương trình quản lý dùng cho một học viện gnhieen cữu giảng dạy và ứng dụng
Bài 11: (Yêu cầu chung: xác định access modifier (private, protected, public) cho thuộc tính/ phương thức lớp, cài đặt getter/setter, cài đặt constructor khơng có tham số constructor có thơng số đầy đủ) Giả sử cần xây dựng chương trình quản lý dùng cho học viện nghiên cứu giảng dạy ứng dụng Đối tượng quản lý bao gồm sinh viên theo học, nhân viên làm việc học viện, khách hàng đến giao dịch mua bán sản phẩm ứng dụng Dựa vào số đặt tính đối tượng, người quản lý cần đưa cách thức đánh giá khác Vậy xây dựng lớp sau: - Lớp Person: bao gồm thuộc tính họ tên, địa chỉ, phương thức toString - Các lớp Student, Employee, Customer (mô tả đây) thừa kế lớp Person ✓Lớp Student: bao gồm thuộc tính điểm mơn học 1, điểm mơn học 2, phương thức: tính điểm TB, overriding phương thức toString trả bảng điểm sinh viên (gồm thơng tin thuộc tính điểm TB) ✓Lớp Employee: bao gồm thuộc tính heSoLương, phương thức: tính lương, overriding phương thức toString trả bảng lương cho nhân viên (gồm thơng tin thuộc tính đối tượng tiền lương) ✓Lớp Customer: bao gồm thuộc tính tên cơng ty, trị giá hóa đơn phương thức tính tiền thuế (10%) số tiền phải nộp, phương thức toString trả thơng tin hóa đơn cho khách hàng (gồm thuộc tính đối tượng) -Lớp DanhSach chứa danh sách Student, Employee, Customer, bao gồm: ✓Có 01 biến danh sách để lưu sinh viên, nhân viên, khách hàng (dùng chung biến), ✓Các thao tác: khởi tạo danh sách, phương thức thêm người vào danh sách (thơng số Person), xóa người khỏi danh sách (nhận thơng số họ tên người cần xóa), nhập danh sách (thể tính đa hình – polymorphism cách cho phép lựa chọn nhập thông tin sinh viên, nhân viên hay khách hàng), xếp danh sách theo thứ tự họ tên, xuất danh sách - Viết lớp với phương thức main cho phần kiểm nghiệm Giao tiếp với người dùng menu //person.java public class Person { protected String hoTen; protected String diaChi; public Person() { Scanner input = new Scanner(System.in); System.out.println("Nhap ho ten :"); hoTen = input.nextLine(); System.out.println("Nhap dia chi:"); diaChi = input.nextLine(); } public Person(String hoTen, String diaChi) { this.hoTen = hoTen; this.diaChi = diaChi; } public String getHoTen() { return hoTen; } public void setHoTen(String hoTen) { this.hoTen = hoTen; } public String getDiaChi() { return diaChi; } public void setDiaChi(String diaChi) { this.diaChi = diaChi; } @Override public String toString() { return " Ho ten: " + hoTen + " } } Dia chi:" + diaChi; //Customer.java public class Customer extends Person{ private String tenCongTy; private float triGiaHD; private String danhGia; public String getTenCongTy() { return tenCongTy; } public void setTenCongTy(String tenCongTy) { this.tenCongTy = tenCongTy; } public float getTriGiaHD() { return triGiaHD; } public void setTriGiaHD(float triGiaHD) { this.triGiaHD = triGiaHD; } public String getDanhGia() { return danhGia; } public void setDanhGia(String danhGia) { this.danhGia = danhGia; } public Customer(){ super(); Scanner input = new Scanner(System.in); System.out.println("Nhap ten cong ty :"); tenCongTy = input.nextLine(); System.out.println("Nhap tri gia hoa don:"); triGiaHD = input.nextFloat(); input.nextLine(); System.out.println("Nhap danh gia ve khach hang:"); danhGia = input.nextLine(); } public String toString(){ return super.toString()+" Ten Cong Ty:"+tenCongTy+" TriGiaHD:"+triGiaHD+" Danh gia:"+danhGia; } } //Employee.java public class Employee extends Person{ private float heSoLuong; private String danhGia; public String getDanhGia() { return danhGia; } public void setDanhGia(String danhGia) { this.danhGia = danhGia; } public float getHeSoLuong() { return heSoLuong; } public void setHeSoLuong(float heSoLuong) { this.heSoLuong = heSoLuong; } public float tinhLuong(){ return heSoLuong*1150; } public String toString(){ return super.toString()+" HSLuong"+heSoLuong+" "+tinhLuong()+" Danh gia:"+danhGia; } public Employee(){ super(); System.out.println("Nhap he so luong :"); heSoLuong = new Scanner(System.in).nextFloat(); System.out.println("Nhap danh gia :"); danhGia = new Scanner(System.in).nextLine(); } } Luong: //Student.java public class Student extends Person{ private float diem1; private float diem2; public Student(){ super(); System.out.println("Nhap diem mon hoc 1:"); diem1 = new Scanner(System.in).nextFloat(); System.out.println("Nhap diem mon hoc 2:"); diem2 = new Scanner(System.in).nextFloat(); } public float getDiem1() { return diem1; } public void setDiem1(float diem1) { this.diem1 = diem1; } public float getDiem2() { return diem2; } public void setDiem2(float diem2) { this.diem2 = diem2; } public float diemTB(){ return (diem1+diem2)/2; } public String danhGia(){ if(diemTB()>=9) return "XuatSac"; else if(diemTB()>=8) return "Gioi"; else if(diemTB()>=7) return "Kha"; else if(diemTB()>=6) return "TB-Kha"; else if(diemTB()>=5) return "Trung Binh"; else return "Yeu"; } @Override public String toString(){ return super.toString()+" Mon hoc 1:"+diem1+" DiemTB:"+diemTB()+" Xep loai: "+danhGia(); } } Mon hoc 2:"+diem2 +" //TestArrayList.java public class TestArrayList { static ArrayList ds = new ArrayList(); public static void main(String[] args) { int m; System.out.println("Chuong trinh quan ly vien nghien cuu giang day va ung dung"); { menu(); System.out.println("Moi ban nhap cac chuc nang tu -> 6: "); m = new Scanner(System.in).nextInt(); switch (m) { case 1: ds.add(new Student()); break; case 2: ds.add(new Employee()); break; case 3: ds.add(new Customer()); break; case 4: hien(); break; } } while (m != 0); } public static void hien(){ for(Person a:ds){ System.out.println(""+a.toString()); } } public static void menu() { System.out.println(" -"); System.out.println("1 - Them Sinh vien"); System.out.println("2 - Them Nhan vien"); System.out.println("3 - Them Khach hang"); System.out.println("4 - Hien danh sach "); System.out.println("0 - Thoat"); System.out.println(" -"); } }