Kế thừa trong Java – Mô tả yêu cầu

Xây dựng ứng dụng quản lý bán hàng. Các đối tượng cần quản lý bao gồm nhân viên và khách hàng.

Người dùng sẽ lựa chọn thao tác thông qua danh sách chức năng được cung cấp như thêm khách hàng, thêm nhân viên, hiển thị tất cả thông tin khách hàng, hiển thị tất cả thông tin nhân viên, đếm số khách hàng theo phân loại và xoá nhân viên theo id. Các chức năng này lần lượt như bên dưới:

add customer (enter: ac)

add employee (enter: ae)

display all customer (enter: dac)

display all employee (enter: dae)

count customer base on type (enter: ccbot)

delete employee base on id (enter: deboi)exit application (enter: ea)

Khi người dùng nhập “ac”:

  • Nhập thông tin cho khách hàng. Lưu ý không nhập mã khách hàng, ứng dụng sẽ phát sinh tự động theo qui tắc c1, c2, c3, …
  • Các thông tin như tên khách hàng, địa chỉ, loại khách hàng và số điện thoại không được bỏ trống.
  • Loại khách hàng là một trong các loại: vip, normal, new
  • Thông tin cho email phải đúng định dạng (phải chứa @).

Khi người dùng nhập “ae”:

  • Nhập thông tin cho nhân viên. Lưu ý không nhập mã nhân viên, ứng dụng sẽ phát sinh tự động theo qui tắc e1, e2, e3, …
  • Các thông tin như tên nhân viên, địa chỉ, số điện thoại không được bỏ trống.
  • Bằng cấp là một trong các loại: university, college.
  • Thông tin cho email phải đúng định dạng (phải chứa @).

Khi người dùng nhập “dac”: Hiển thị danh sách khách hàng. Lưu ý nếu người dùng chưa thực hiện thao tác “add”, ứng dụng sẽ hiển thị thông báo “Not found information

Khi người dùng nhập “dae”: Hiển thị danh sách nhân viên. Lưu ý nếu người dùng chưa thực hiện thao tác “add”, ứng dụng sẽ hiển thị thông báo “Not found information

Khi người dùng nhập “ccbot”: Đếm số lượng khách hàng theo loại khách hàng.

Khi người dùng nhập “deboi”:

  •  Ứng dụng tìm kiếm nhân viên theo mã số. Nếu tìm thấy sẽ xoá nhân viên tương ứng. Ngược lại hiển thị thông báo “Not found information”.
  • Ứng dụng xuất hiện câu thông báo xác nhận “Are you sure to this record (y/s)?” .Nếu chọn “y”, tiến hành xoá thông tin nhân viên.

Khi người dùng nhập “ea”: Ứng dụng sẽ hiển thị thông báo xác nhận “Are you sure to exit (y/n)? ”. Nếu nhập “y”, thoát ứng dụng.

Kế thừa trong Java – Hướng dẫn thực hiện

Bước 1. Mở ứng dụng NetBeans , New Project | Java | Java Application , nhấp Next , trên hộp thoại “New Java Application ” điền các thông tin trong hộp thoại như sau : Project Name : BMS ; project Location : “nhập đường dẫn lưu ứng dụng” ; đặt tên package : “asm” và Bỏ chọn “Create Main Class” , nhấn Finish để thúc.

Bước 2. Tạo lớp Person: Chuột phải asm -> chọn New -> chọn Java Class -> nhập Person tại Class Name -> chọn Finish
2.1. Khai báo thuộc tính id, name, address, email, phone

2.2. Tạo phương thức input

2.3. Tạo phương thức display

Bước 3. Tạo lớp Customer: Chuột phải asm -> chọn New -> chọn Java Class -> nhập Customer tại Class Name -> chọn Finish

3.1. Cho lớp Customer kế thừa lớp Person

3.2. Khai báo thuộc tính type và tạo phương thức display

3.3. Tạo phương thức input

Bước 4. Tạo lớp Employee: Chuột phải asm -> chọn New -> chọn Java Class -> nhập Employee tại Class Name -> chọn Finish

4.1. Cho lớp Employee kế thừa lớp Person

4.2. Khai báo thuộc tính qualification và tạo phương thức display

4.3. Tạo phương thức input

Bước 5. Tạo lớp Program: Chuột phải asm -> chọn New -> chọn Java Class -> nhập Program tại Class Name -> chọn Finish

import java.util.ArrayList;
import java.util.Scanner;

public class Program {

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    String choice = "";
    ArrayList<Customer> arrCus = new ArrayList();
    ArrayList<Employee> arrEmp = new ArrayList();

    int cusCount = 0;
    int empCount = 0;

    do {
        System.out.println("Human Management System");
        System.out.println("-------***-------");
        System.out.println("Add customer (enter: ac)");
        System.out.println("Add employee (enter: ae)");
        System.out.println("Display all customer (enter: dac)");
        System.out.println("Display all employee (enter: dae)");
        System.out.println("Count customer base on type (enter: ccbot)");
        System.out.println("Delete employee base on id (enter: deboi)");
        System.out.println("Exit application (enter: ea)");
        System.out.println("-------***-------");

        System.out.print("Enter your choice: ");
        choice = s.nextLine();

        switch (choice) {
            case "ac":
                Customer cus = new Customer();
                cusCount++;
                cus.id = "c" + cusCount;
                cus.input();
                arrCus.add(cus);
                break;
            case "ae":
                Employee emp = new Employee();
                empCount++;
                emp.id = "e" + empCount;
                emp.input();
                arrEmp.add(emp);
                break;
            case "dac":
                for (int i = 0; i < arrCus.size(); i++) {
                    arrCus.get(i).display();
                }
                break;
            case "dae":
                for (int i = 0; i < arrEmp.size(); i++) {
                    arrEmp.get(i).display();
                }
                break;
            case "ccbot":
                System.out.print("Enter customer's type: ");
                String baseonType = s.nextLine();
                int countType = 0;
                Customer countCus;
                for (int i = 0; i < arrCus.size(); i++) {
                    countCus = arrCus.get(i);
                    if (countCus.type.contains(baseonType) == true) {
                        countType++;
                    }
                }
                System.out.println("Number of " + baseonType + " customer: " + countType);
                break;
            case "deboi":
                System.out.print("Enter employee's ID to delete:");
                String deleteID = s.nextLine().toLowerCase();
                for (int i = 0; i < arrEmp.size(); i++) {
                    Employee deleteEmp;
                    deleteEmp = arrEmp.get(i);
                    if (deleteEmp.id.contains(deleteID) == true) {
                        System.out.print("Deleting! Are your sure? (y/n)");
                        String confirm = s.nextLine();
                        if ("y".equals(confirm) == true) {
                            arrEmp.remove(i);
                            System.out.println("Employee " + deleteEmp.id + " deleted");
                        }
                    } else {
                        System.out.println("Employee not found!");
                    }
                }
                break;
            case "ea":
                System.out.print("Are you sure to exit application? (y/n)");
                String quit = s.nextLine();
                if (quit.equals("y")) {
                    System.exit(0);
                }
            default:
                System.out.println("Can't have this function!");
                break;
        }
    } while (true);
}

}

Bước 6. Nhấn Shift–F6 hoặc chuột phải-> Run File để chạy chương trình. Nhập dữ liệu và kiểm tra kết quả.

BÌNH LUẬN

Please enter your comment!
Please enter your name here