Bài 7: Class (lớp) và đối tượng trong Java!

Ở bài này, mình sẽ chỉ viết về class trong Java và chúng ta bắt đầu thực hành, làm bài tập nhỏ để làm quen với class.

1. Khái niệm class (lớp):

Chúng ta có thể xem lớp như một khuôn mẫu (template) của đối tượng (Object). Trong đó bao gồm dữ liệu của đối tượng (fields hay properties) và các phương thức (methods) tác động lên thành phần dữ liệu đó gọi là các phương thức của lớp.
Các đối tượng được xây dựng bởi các lớp nên được gọi là các thể hiện của lớp (class instance).
Lớp trong java gần giống như bản ghi trong lập trình C hoặc pascal, nhưng tất nhiên nó cao cấp hơn.
Ví dụ 1: Ta khai báo 1 lớp SinhVien gồm các thuộc tính:
– hoTen
– namSinh
– lopHoc.
Lớp này chính là 1 khuôn mẫu. Khi ta tạo ra các đối tượng dựa trên lớp này, các đối tượng đều tương tự như mẫu trên.
Vd :
Tạo đối tượng a, khi đó a sẽ có 3 thuộc tính, và ta có thể thao tác gán giá trị các thuộc tính đó như sau:
– hoTen là “Nguyễn Văn A”;
– namSinh là “1992”;
– lopHoc là “At7a”;
đối tượng b, c, … cũng tương tự nhưng giá trị của chúng sẽ đặc trưng cho từng đối tượng riêng. Có lẽ, các bạn sẽ thấy nó có vẻ giống với các bản ghi nếu như bạn đã được học lập trình C hoặc Pascal.

2. Khai báo/định nghĩa lớp:

class <ClassName> {
    <kiểu dữ liệu> <field_1>;
    <kiểu dữ liệu> <field_2>;
    constructor
    method_1
    method_2
}

– class: là từ khóa của java
– ClassName: là tên chúng ta đặt cho lớp
– field_1, field_2: các thuộc tính, các biến, hay các thành phần dữ liệu của lớp.
– constructor: là sự xây dựng, khởi tạo đối tượng lớp.
– method_1, method_2: là các phương thức/hàm thể hiện các thao tác xử lý, tác động lên các thành phần dữ liệu của lớp.

Ở bài này, tạm thời chúng ta sẽ chưa quan tâm tới constructor và method nhé, những bài sau mình sẽ viết rõ về những khái niệm đó.

Các bạn hãy xem vd2 code về lớp để định nghĩa những gì đã viết trong ví dụ 1
Ví dụ 2: (Ở đây, tạm thời chưa cần hiểu public là gì nhé, xuống phần dưới sẽ nói kỹ hơn)

class SinhVien {
    public String hoTen;
    public int namSinh;
    public String lopHoc;
}

3. Tạo đối tượng của lớp:

ClassName objectName = new ClassName();

Ví dụ 3: Tạo 2 đối tượng sinh viên a và sinh viên b dựa trên class đã định nghĩa ở ví dụ 2:

SinhVien a = new SinhVien();
SinhVien b = new SinhVien();

4. Thuộc tính của lớp

Vùng dữ liệu (fields) hay thuộc tính (properties) của lớp được khai báo bên trong lớp như sau:

class <ClassName>{
// khai báo những thuộc tính của lớp
<tiền tố> <kiểu dữ liệu> field1;
// …
}

Để xác định quyền truy xuất của các đối tượng khác đối với vùng dữ liệu của lớp người ta thường dùng 3 tiền tố sau:
public: có thể truy xuất từ tất cả các đối tượng khác
private: một lớp không thể truy xuất vùng private của 1 lớp khác.
protected: vùng protected của 1 lớp chỉ cho phép bản thân lớp đó và những lớp dẫn xuất từ lớp đó truy cập đến.

Ví Dụ : Tạo class sinh viên gồm các thuộc tính: hoTen, namSinh, lopHoc
Tạo 2 đối tượng là sinh viên a và sinh viên b. Gán giá trị cho các thuộc tính và in giá trị các thuộc tính từng sinh viên ra màn hình!

class SinhVien {
 
    public String hoTen;
    public int namSinh;
    public String lopHoc;
}
 
public class JavaDemo {
 
    public static void main(String[] args) {
 
        SinhVien a = new SinhVien();
        a.hoTen = "Vũ Văn Tường";
        a.namSinh = 1992;
        a.lopHoc = "At7a";
 
        SinhVien b = new SinhVien();
        b.hoTen = "Nguyễn Văn Tùng";
        b.namSinh = 1990;
        b.lopHoc = "Bk1";
 
        System.out.println("Thông tin sinh vien a là: ");
        System.out.println("Họ tên: " + a.hoTen + " Năm sinh: " + a.namSinh + " Lớp Học: " + a.lopHoc);
 
        System.out.println("\nThông tin sinh vien b là: ");
        System.out.println("Họ tên: " + b.hoTen + " Năm sinh: " + b.namSinh + " Lớp Học: " + b.lopHoc);
    }
}

 

Nguyễn Linh

Chia sẻ để cùng tiến bộ...