Lớp trong java P1

Lớp là điều mà một người học lập trình java cơ bản cần phải biết đầu tiên 
Khái niệm 
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).

1.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
Cl
assName: 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. 49

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

ClassName objectName = new ClassName();

3.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ụ:
public class xemay
{ public String nhasx;
public String model;
private float chiphisx;
protected int thoigiansx;
// so luong so cua xe may: 3, 4 so
protected int so;
// sobanhxe là biến tĩnh có giá trị là 2 trong tất cả
// các thể hiện tạo ra từ lớp xemay 50
public static int sobanhxe = 2;
} 

Thuộc tính “nhasx”, “model”có thể được truy cập đến từ tất cả các đối tượng khác. Thuộc tính “chiphisx” chỉ có thể truy cập được từ các đối tượng có kiểu “xemay” Thuộc tính “thoigiansx”, so có thể truy cập được từ các đối tượng có kiểu “xemay” và các đối tượng của các lớp con dẫn xuất từ lớp “xemay”
Lưu ý: Thông thường để an toàn cho vùng dữ liệu của các đối tượng người ta tránh dùng tiền tố public, mà thường chọn tiền tố private để ngăn cản quyền truy cập đến vùng dữ liệu của một lớp từ các phương thức bên ngoài lớp đó.

Hàm - Phương thức lớp (Method) Hàm hay phương thức (method) trong Java là khối lệnh thực hiện các chức năng, các hành vi xử lý của lớp lên vùng dữ liệu.
Khai báo phương thức:
<Tiền tố> <kiểu trả về> <Tên phương thức> (<danh sách đối
số>)
{
<khối lệnh>;
}
Để xác định quyền truy xuất của các đối tượng khác đối với các phương thức của lớp người ta thường dùng các tiền tố sau: 

· public: phương thức có thể truy cập được từ bên ngoài lớp khai báo. 
· protected: có thể truy cập được từ lớp khai báo và những lớp dẫn xuất từ nó. 
· private: chỉ được truy cập bên trong bản thân lớp khai báo.
· static: phương thức lớp dùng chung cho tất cả các thể hiện của lớp, có nghĩa là phương thức đó có thể được thực hiện kể cả khi không có đối tượng của lớp chứa phương thức đó. 
· final: phương thức có tiền tố này không được khai báo chồng ớ các lớp dẫn xuất. 
· abstract: phương thức không cần cài đặt (không có phần source code), sẽ được hiện thực trong các lớp dẫn xuất từ lớp này. 
· synchoronized: dùng để ngăn các tác động của các đối tượng khác lên đối tượng đang xét trong khi đang đồng bộ hóa. Dùng trong lập trình miltithreads.
<kiểu trả về>: có thể là kiểu void, kiểu cơ sở hay một lớp.
<Tên phương thức>: đặt theo qui ước giống tên biến.
<danh sách thông số>: có thể rỗng
Lưu ý: Thông thường trong một lớp các phương thức nên được kh ai báo dùng từ khóa public, khác với vùng dữ liệu thường là dùng tiền tố private vì mục đích an toàn. Những biến nằm trong một phương thức của lớp là các biến cục bộ (local) và nên được khởia tạo sau khi khai báo.
Ví dụ:
public class xemay
{
public String nhasx;
public String model;
private float chiphisx;
protected int thoigiansx;
// so luong so cua xe may: 3, 4 so
protected int so; 52
// là biến tĩnh có giá trị là 2 trong tất cả
// các thể hiện tạo ra từ lớp xemay
public static int sobanhxe = 2;
public float tinhgiaban()
{
return 1.5 * chiphisx;
}
}

0 nhận xét: