Khoanglang89
Bạn hãy đăng nhập hoặc đăng ký
Khoanglang89

NHẬN THIẾT KẾ WEBSITE/ SOFTWARE - LÀM ĐỒ ÁN TỐT NGHIỆP, ĐỒ ÁN CHUYÊN MÔN NGÀNH CÔNG NGHỆ THÔNG TIN


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1 Lớp và đối tượng – Phần 5 on Fri Nov 02, 2012 12:55 pm

LostSoul89

avatar

Admin
Admin
Loading
Lớp và đối tượng – Phần 5






Hàm
tạo cũng là một phương thức của lớp (nhưng là hàm đặc biệt) dùng để tạo
dựng một đối tượng mới. Chương trình dịch sẽ cấp phát bộ nhớ cho đối
tượng sau đó sẽ gọi đến hàm tạo. Hàm tạo sẽ khởi gán giá trị cho các
thuộc tính của đối tượng và có thể thực hiện một số công việc khác nhằm
chuẩn bị cho đối tượng mới.














4/- Hàm tạo (Constructor)
4.1/- Hàm tạo (hàm thiết lập)

a/- Cách viết hàm tạo

- Điểm khác của hàm tạo và các phương thức thông thường:

Khi viết hàm tạo cần để ý 3 sự khác biệt của hàm tạo so với các phương thức khác như sau:

♦ Tên của hàm tạo: Tên của hàm tạo bắt buộc phải trùng với tên của lớp.

♦ Không khai báo kiểu cho hàm tạo.

♦ Hàm tạo không có kết quả trả về.

- Sự giống nhau của hàm tạo và các phương thức thông thường.

Ngoài 3 điểm khác biệt trên, hàm tạo được viết như các phương thức khác:

♦ Hàm tạo có thể được xây dựng bên trong hoặc bên ngoài định nghĩa lớp.

♦ Hàm tạo có thể có đối hoặc không có đối.

♦ Trong một lớp có thể có nhiều hàm tạo (cùng tên nhưng khác bộ đối).

Ví dụ sau định nghĩa lớp DIEM_DH (Điểm đồ họa) có 3 thuộc tính:




và đưa vào 2 hàm tạo để khởi gán cho các thuộc tính của lớp:







b/- Dùng hàm tạo trong khai báo

- Khi đã xây dựng các hàm tạo, ta có thể dùng chúng trong khai báo để
tạo ra một đối tượng đồng thời khởi gán cho các thuộc tính của đối
tượng được tạo. Dựa vào các tham số trong khai báo mà trình biên dịch sẽ
biết cần gọi đến hàm tạo nào.

- Khi khai báo một biến đối tượng có thể sử dụng các tham số để khởi gán cho các thuộc tính của biến đối tượng.

- Khi khai báo mảng đối tượng không cho phép dùng các tham số để khởi gán.

- Câu lệnh khai báo một biến đối tượng sẽ gọi tới hàm tạo 1 lần.

- Câu lệnh khai báo một mảng n đối tượng sẽ gọi tới hàm tạo n lần.

Ví dụ:




Chú ý: Với các hàm có đối kiểu lớp, thì đối chỉ xem là các
tham số hình thức, vì vậy khai báo đối (trong dòng đầu của hàm) sẽ không
tạo ra đối tượng mới và do đó không gọi tới các hàm tạo.

c/- Dùng hàm tạo trong cấp phát bộ nhớ

- Khi cấp phát bộ nhớ cho một đối tượng có thể dùng các tham số để khởi gán cho các thuộc tính của đối tượng, ví dụ




- Khi cấp phát bộ nhớ cho một dãy đối tượng không cho phép dùng tham số để khởi gán, ví dụ:




d/- Dùng hàm tạo để biểu điền các đối tượng hằng

- Như đã biết, sau khi định nghĩa lớp DIEM_DH thì có thể xem lớp này như một kiểu dữ liệu như int, double, char, ...

Với kiểu int chúng ta có các hằng int, như 253.

Với kiểu double chúng ta có các hằng double, như 75.42

Khái niệm hằng kiểu int, hằng kiểu double có thể mở rộng cho hằng kiểu DIEM_DH

- Để biểu diễn một hằng đối tượng (hay còn gọi: Đối tượng hằng) chúng ta phải dùng tới hàm tạo. Mẫu viết như sau:

Tên_lớp(danh sách tham số) ;

Ví dụ đối với lớp DIEM_DH nói trên, có thể viết như sau:




Chú ý: Có thể sử dụng một hằng đối tượng như một đối tượng.
Nói cách khác, có thể dùng hằng đối tượng để thực hiện một phương thức,
ví dụ nếu viết:




thì có nghĩa là thực hiện phương thức in() đối với hằng đối tượng.

e/- Ví dụ minh họa

Chương trình sau đây minh họa cách xây dựng hàm tạo và cách sử dùng
hàm tạo trong khai báo, trong cấp phát bộ nhớ và trong việc biểu diễn
các hằng đối tượng.










Hết phần 5



Nguồn: Internet

Xem lý lịch thành viên http://khoanglang89.forumvi.com

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Bài viết mới cùng chuyên mục

    Bài viết liên quan vớiLớp và đối tượng – Phần 5

      Permissions in this forum:
      Bạn không có quyền trả lời bài viết