Lập trình hướng đối tượng Java: biểu diễn đối tượng bằng sơ đồ lớp | Codelearn

  • TuanLQ7
  • Easy
  • 100 Points

Task

Create a Student class within the Student.java file with the following information:

Explanation: The table above describes the Student class with the following attributes and methods as below:

  • name and age are attributes with private modifier.
  • Student() is a no-arg constructor with public modifier.
  • getInformation() and display() are methods with public modifier.

In fact, you should not store the two classes in the same file as in the previous lesson (Student class and Entry class are written in the same file). For each class, you should create its own file. For example, the Student.java file contains the code block of the Student class, the Entry.java file contains the code block of the Entry class, ...

Back in the exercise, the code window in this article is the Student.java file, in this file you need to create a Student class with the same properties and methods as described (you only need to declare the attributes. methods and methods, no need to write code inside the method).

Note: when submitting articles to the system, you do not need to declare the package.

Trong thực tế, bạn không nên viết code của hai class trong cùng 1 file giống như các bài tập ở phần trước (class Studentclass Entry được viết trong cùng 1 file). Với mỗi một class bạn nên tạo ra 1 file riêng cho nó. Ví dụ: file Student.java sẽ chứa code của lớp Student, file Entry.java sẽ chứa code của lớp Entry, ...

Quay lại phần bài tập, cửa sổ code trong bài này chính là file Student.java, trong file này bạn cần tạo ra lớp Student với đầy đủ các thuộc tính và phương thức giống như đã mô tả (bạn chỉ cần khai báo các thuộc tính và phương thức, không cần viết code bên trong phương thức).

Lưu ý: khi nộp bài lên hệ thống, bạn không cần khai báo package.

Lý thuyết

Hình minh họa về lớp Student bên trên chính là một sơ đồ lớp. Ở các bài trước bạn đã được làm quen với sơ đồ này nhưng ở bài này bạn sẽ được hiểu xâu hơn về nó.

Sơ đồ lớp

Như bạn đã biết, lập trình hướng đối tượng là phương pháp giải quyết các bài toán lập trình thông qua các đối tượng và mối quan hệ giữa chúng, một chương trình thực tế sẽ có rất nhiều các lớp và đối tượng. Sơ đồ lớp chính là sơ đồ mà nhìn vào đó bạn thấy được mô tả của các lớp, mối quan hệ giữa các đối tượng trong hệ thống (mối quan hệ giữa các đối tượng bạn sẽ được học trong các bài tiếp theo).

Một ký hiệu lớp sẽ có 3 phần là Class name (tên lớp), attributes (danh sách các thuộc tính) và operations (các thủ tục, để đơn giản thì bạn hãy coi thủ tục chính là phương thức). Một lớp trong biểu đồ lớp sẽ được mô tả giống như sau:

Trong sơ đồ lớp, bạn có thể mô tả phạm vi truy cập của các thuộc tính, phương thức bằng cách đặt các ký tự -, ~, #, + trước các thuộc tính và phương thức.

  • Ký tự '-' sẽ tương ứng với phạm vi truy cập private.
  • Ký tự '~' sẽ tương ứng với phạm vi truy cập default.
  • Ký tự '#' sẽ tương ứng với phạm vi truy cập protected.
  • Ký tự '+' sẽ tương ứng với phạm vi truy cập public.

Ví dụ lớp Student giống như sau:

class Student {
	private int id;
	String name;
	protected int age;
	public double gpa;

	public Student() {

	}

	void getInformation() {

	}

	public void display() {

	}
}

Sẽ được biểu mô tả bằng sơ đồ lớp giống như sau (bạn hãy để ý các ký tự -, ~, #, +):

Lưu ý: khi một phương thức không được định nghĩa kiểu trả về và tên phương thức trùng với tên lớp thì đây chính là phương thức khởi tạo. Như trong sơ đồ lớp trên thì +Student() chính là phương thức khởi tạo public.

Để chắc chắn rằng bạn đã hiểu về sơ đồ lớp, hãy xem ví dụ tiếp theo về lớp Product (lớp dùng để mô tả các đối tượng sản phẩm):

class Product {
	public int id;
	String name;
	protected double price;
	private String description;

	Product() {

	}

	public void getInformation() {

	}

	public void display() {

	}
}

Lớp này sẽ được mô tả bằng sơ đồ lớp giống như sau:

Đọc tới đây bạn đã hiểu được cách mô tả các lớp bằng ký hiệu lớp, hãy quay lại phần bài tập và làm thử.

Hướng dẫn

Code mẫu: