Project

7 minute read

Ở bài này, chúng ta sẽ cùng viết một vài method cơ bản cho các đối tượng đã tạo ở những bài trước đó. Cũng giống như các class có sẵn trong Java, mỗi class đều có các method riêng của class đó để cung cấp các chức năng cụ thể để làm việc với class đó.

Vì vậy đầu tiên chúng ta cần xác định các chức năng cần có để có thể làm việc với các đối tượng Person, StudentStaff.

I. Xác định các method

Những method viết trong class là những method tương tác trực tiếp với các thuộc tính của class đó.

Vậy nên tạm thời chúng ta có thể xác định được 2 method cơ bản cần viết đầu tiên là:

  • input(): nhập dữ liệu từ bàn phím vào các thuộc tính.
  • display(): hiển thị các thuộc tính của đối tượng.

Chúng ta có thể bổ sung thêm các method mới bất cứ khi nào chúng ta cần.

II. Triển khai vào dự án

Sau khi đã xác định cần làm gì, chúng ta sẽ thực hiện viết mã vào dự án theo các bước sau:

  1. Trong class entity.Person:
    • Chúng ta sẽ viết method display() để hiển thị một đối tượng Person như sau:

      package entity;
      
      public class Person {
      
          private String rollNumber;
          private String name;
          private boolean gender;
          private String dob;
          private String email;
          private String mobile;
          private String address;
      
          // getter & setter
                
          public void display() {
              System.out.printf(
                      "| %10s | %16s | %5s | %12s | %28s | %12s | %12s |",
                      rollNumber,
                      name,
                      gender ? "Nam" : "Nữ",
                      dob,
                      email,
                      mobile,
                      address
              );
          }
      }
      
    • Tiếp theo chúng ta sẽ sử dụng lớp Scanner để viết method input() - lấy các giá trị từ bàn phím gán vào các thuộc tính của đối tượng như sau:

      package entity;
      
      public class Person {
      
          private String rollNumber;
          private String name;
          private boolean gender;
          private String dob;
          private String email;
          private String mobile;
          private String address;
      
          // getter & setter
                
          public void display() {
              System.out.printf(
                      "| %10s | %16s | %5s | %12s | %28s | %12s | %12s |",
                      rollNumber,
                      name,
                      gender ? "Nam" : "Nữ",
                      dob,
                      email,
                      mobile,
                      address
              );
          }
                
          public void input() {
              Scanner scanner = new Scanner(System.in);
      
              System.out.print("\nEnter rollNumber: ");
              this.rollNumber = scanner.nextLine().trim();
      
              System.out.print("Enter name: ");
              this.name = scanner.nextLine().trim();
      
              System.out.print("Enter gender: ");
              this.gender = Boolean.parseBoolean(scanner.nextLine().trim());
      
              System.out.print("Enter dob (DD/MM/YYYY): ");
              this.dob = scanner.nextLine().trim();
      
              System.out.print("Enter email: ");
              this.email = scanner.nextLine().trim();
      
              System.out.print("Enter mobile: ");
              this.mobile = scanner.nextLine().trim();
      
              System.out.print("Enter address: ");
              this.address = scanner.nextLine().trim();
          }
      }
      
  2. Trong class entity.Student:
    • Chúng ta sẽ kế thừa method display() từ class Person và viết lại mã cho phù hợp như sau:

      package entity;
      
      public class Student extends Person {
      
          private double mark;
      
          // getter & setter
                
          @Override
          public void display() {
              super.display();
              System.out.printf("%6s |\n", mark);
          }
      }
      
    • Tương tự với method input() như sau:

      package entity;
      
      public class Student extends Person {
      
          private double mark;
      
          // getter & setter
                
          @Override
          public void display() {
              super.display();
              System.out.printf("%6s |\n", mark);
          }
      
          @Override
          public void input() {
              Scanner scanner = new Scanner(System.in);
      
              super.input();
              System.out.print("Enter mark: ");
              this.mark = Double.parseDouble(scanner.nextLine().trim());
          }
      }
      

    Thực hiện tương tự đối với đối tượng Staff, trong phạm vi bài viết từ nay về sau, chúng ta sẽ chỉ triển khai mã ví dụ với chỉ đối tượng Student.

III. Manual testing

Cấu trúc dự án hiện tại:

Project/
   └──src/  
      ├──entity
        ├──Person.java
        ├──Staff.java
        └──Student.java
      └──main 
         └──Main.java

Sau khi triển khai viết mã cho những method đầu tiên, chúng ta sẽ viết mã kiểm tra xem mã đã viết có chạy đúng như yêu cầu mong muốn hay không, mã kiểm tra sẽ được viết trong class Main.

package main;

import entity.Student;

public class Main {

    public static void main(String[] args) {
    
        Student student = new Student(); // create instance Student
        student.input();                 // call method input()
        student.display();               // call method display()
    }
}

Kết quả nhận được:

Enter rollNumber: HE150345
Enter name: Tuan Anh
Enter gender: true
Enter dob (DD/MM/YYYY): 11/11/1994
Enter email: AnhDTHE150345@fpt.edu.vn
Enter mobile: 0973876107
Enter address: Ha Noi
Enter mark: 8.5

|   HE150345 |         Tuan Anh |   Nam |   11/11/1994 |     AnhDTHE150345@fpt.edu.vn |   0973876107 |       Ha Noi |   8.5 |

© Copyright

ANEST LEARNING
Join us:     Facebook groups
Website:   https://anest.dev

Đinh Tuấn Anh

Xin chào, mình là Tuấn Anh. Đây là nơi mình chia sẽ các bài viết về lập trình và tất cả thể loại mà mình thích viết, còn viết khi nào thì tuỳ hứng.