Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
420,5 KB
Nội dung
Nguyễn Công Huy – Khoa CNTT&TT 1 LỚP VÀ LỚP VÀ ĐỐI TƯỢNG ĐỐI TƯỢNG Lớp: khai báo, định nghĩa hàm thành viên. Đối tượng: khai báo, sử dụng, gán. Sơ lược về hàm xây dựng, hàm hủy Dữ liệu và hàm thành viên tĩnh Khai thác 1 lớp Nguyễn Công Huy – Khoa CNTT&TT 2 Lớp Lớp Khai báo class <Tên lớp> { Thuộc tính truy cập : <Khai báo thành phần dữ liệu> Thuộc tính truy cập : <Khai báo các hàm thành viên> }; Sơ đồ lớp điểm điểm trong không gian 2 chiều Nguyễn Công Huy – Khoa CNTT&TT 3 Lớp Lớp Định nghĩa hàm thành viên <Kiểu trả về> <Tên lớp> :: :: <Tên hàm>( Các tham số + Kiểu ) { < Khai báo các dữ liệu cục bộ của hàm> < Thân hàm - Nội dung hàm > < Câu lệnh return > } Toán tử chỉ phạm vi Nguyễn Công Huy – Khoa CNTT&TT 4 Lớp Lớp Ví dụ Nguyễn Công Huy – Khoa CNTT&TT 5 Đối tượng Đối tượng Khởi tạo đối tượng Dạng biến: <Tên lớp> <Tên đối tượng>; VD: Diem a, b; Dạng mảng: <Tên lớp> <Tên mảng>[Kích thước]; VD: Diem mang[10]; a x y 1000H b x y 1004H mang x y 1008H Nguyễn Công Huy – Khoa CNTT&TT 6 Đối tượng Đối tượng Khởi tạo đối tượng Dạng con trỏ : VD: Diem *pa, *ds; pa= new Diem; ds= new Diem[10]; delete pa; delete[] ds; Chú ý: Phải cấp và thu hồi vùng nhớ cho con trỏ đối tượng. *pa x y 1060H 1060 x y 1064H *ds 1064 Nguyễn Công Huy – Khoa CNTT&TT 7 Đối tượng Đối tượng Sử dụng đối tượng Khi khởi tạo đối tượng xong, ta có thể : Truy xuất đến dữ liệu thành viên của đối tượng. Gọi hàm trên đối tượng. tùy theo thuộc tính truy cập của các thành phần đó. Nguyễn Công Huy – Khoa CNTT&TT 8 Đối tượng Đối tượng Phép gán đối tượng: Dùng dấu = = ( có sẵn trong ngôn ngữ C++). Thực chất là gán tương ứng các thành phần dữ liệu của hai đối tượng cho nhau. Chỉ đúng đúng khi thành phần dữ liệu không có con trỏ. => Phải định nghĩa lại phép gán khi dữ liệu có con trỏ. void main() { Diem a; a.KhoiTao(10,20); Diem b, *pb; b = a; b.InDiem(); // In ra (10, 20) pb = new Diem; *pb = a; pb->InDiem(); // In ra (10, 20) Nguyễn Công Huy – Khoa CNTT&TT 9 Hàm xây dựng – Hàm hủy Hàm xây dựng – Hàm hủy Hàm xây dựng (Constructor) Tại sao cần hàm xây dựng ? hiệu ứng phụ Cần phải khởi tạo giá trị ban đầu cho các dữ liệu thành viên Nguyễn Công Huy – Khoa CNTT&TT 10 Hàm xây dựng – Hàm hủy Hàm xây dựng – Hàm hủy Hàm xây dựng (constructor) Dùng để khởi tạo đối tượng: Gán giá trị đầu cho các dữ liệu thành viên. Cấp vùng nhớ cho các con trỏ thành viên. Cú pháp: Cùng tên với tên lớp, không có trị trả về (kể cả void). Có thể không có hay có nhiều tham số. Có thể không có, có 1 hay nhiều hàm xây dựng. Sử dụng : Không được gọi trực tiếp. Sẽ được tự động gọi khi khởi tạo đối tượng. [...]... đối tượng, khi hủy bỏ đối tượng => delete các con trỏ là dữ liệu thành viên Một lớp có thể không có hoặc chỉ có duy nhất 1 hàm hủy Cú pháp : ~ ( ) { … } Không được gọi trực tiếp mà sẽ được tự động gọi khi hủy bỏ đối tượng VD: Diem::~Diem () { } SinhVien::~SinhVien() { delete[] hoten; } Nguyễn Công Huy – Khoa CNTT&TT 13 Các loại đối tượng Đối tượng toàn cục - Đối tượng cục bộ Đối tượng. .. cả các đối tượng của cùng 1 lớp => tồn tại độc lập với các đối tượng Giống như 1 biến toàn cục Phải được khởi tạo bên ngoài của lớp Thường được sử dụng để đếm số lượng đối tượng hiện có Tại thời điểm này dem = ? Nguyễn Công Huy – Khoa CNTT&TT 15 Dữ liệu và hàm thành viên tĩnh Hàm thành viên tĩnh (static) Độc lập với các đối tượng => khi gọi hàm không cần đối tượng nào : :: . CNTT&TT 1 LỚP VÀ LỚP VÀ ĐỐI TƯỢNG ĐỐI TƯỢNG Lớp: khai báo, định nghĩa hàm thành viên. Đối tượng: khai báo, sử dụng, gán. Sơ lược về hàm xây dựng, hàm hủy Dữ liệu và hàm thành. CNTT&TT 4 Lớp Lớp Ví dụ Nguyễn Công Huy – Khoa CNTT&TT 5 Đối tượng Đối tượng Khởi tạo đối tượng Dạng biến: <Tên lớp& gt; <Tên đối tượng& gt;; VD: Diem a, b; Dạng mảng: <Tên lớp& gt;. Khoa CNTT&TT 7 Đối tượng Đối tượng Sử dụng đối tượng Khi khởi tạo đối tượng xong, ta có thể : Truy xuất đến dữ liệu thành viên của đối tượng. Gọi hàm trên đối tượng. tùy theo thuộc