Slide Hàm khởi tạo và hàm hủy

• Đôi lúc lập trình viên do gấp nên sẽ quên việc khởi tạo trong C++.

• Việc khởi tạo là 1 việc rất quan trọng trong lập trinh.

• Do đó yêu cầu cần phải có hàm khởi tạo tự động được thưc thi khi mà đối tượng được tạo

 

pptx12 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 2991 | Lượt tải: 2download
Tóm tắt nội dung Slide Hàm khởi tạo và hàm hủy, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Click to edit Master title style Click to edit Master text styles Second level Third level Fourth level Fifth level 10/21/2009 ‹#› Hàm khởi tạo và hàm hủy Trong ngôn ngữ C thì việc lập trình viên thường hay quên việc khởi tạo và xóa bỏ đối tượng.  Cần phải làm gì để hạn chế những lỗi này??????????? Rất may là trong ngôn ngữ lập trình cao cấp hơn là C++ Trong C++ hỗ trợ cho chúng ta 2 hàm constructor và destructor nhằm giảm và tránh việc quên khởi tạo các hàm cũng như là quên việc giải phóng vùng nhớ. Khởi tạo hàm tạohàm constructor Đôi lúc lập trình viên do gấp nên sẽ quên việc khởi tạo trong C++. Việc khởi tạo là 1 việc rất quan trọng trong lập trinh. Do đó yêu cầu cần phải có hàm khởi tạo tự động được thưc thi khi mà đối tượng được tạo Cách phân biệt với những hàm khác hàm khởi tạo được phân biệt với những hàm khác nhờ vào tên hàm khơi tạo sẽ trùng với tên của class. Vd: Trong class Y thì hàm khởi tạo sẽ có tên là Y(); làm cách nào mà ta có thể sử dụng các đối số trong C++ thì nó sẽ cung cấp cho ta 1 con trỏ this con trỏ này được định nghĩa như là 1 biến con trỏ trỏ đến chính bản thân các thành phần trong hàm. Ngoài ra ta còn có thể sử dụng tên các tham số trong lúc khai báo 1 class Vd: trong class PhanSo thay vì dùng this->Tu=1 thì chúng ta có thể viết là Tu=1; hủy an toàn với hàm hủy tại sao chúng ta cần hàm hủy? 	nếu bạn khởi tạo mà không hủy thì các biến nó sẽ gây nên việc chiếm dụng tài nguyên máy.  Cần phải có 1 hàm hủy tự động như là hàm tạo khi mà kết thúc chương trình nhằm giải phóng cho nhũng vùng nhớ hủy an toàn với hàm hủy tại sao chúng ta cần hàm hủy? 	nếu bạn khởi tạo mà không hủy thì các biến nó sẽ gây nên việc chiếm dụng tài nguyên máy.  Cần phải có 1 hàm hủy tự động như là hàm tạo khi mà kết thúc chương trình nhằm giải phóng cho nhũng vùng nhớ cách sử dụng hàm hủy	 hàm hủy cũng như là hàm tạo có tên trùng với tên của class nhưng để phân biệt giữa 2 hàm hủy và tạo thì chúng ta cần phải thêm dấu “~” phía trước. Vd: trong class PhanSo thì hàm hủy viết ~PhanSo(); Hạn chế định nghĩa trong khối lệnh Tại sao chúng ta thường phải liệt kê hết tất cả những biến,tham số khi bắt đầu 1 chương trình C? Có 2 lý do: 	thứ nhất:làm như vậy thì sẽ làm cho câu lệnh dễ đọc hơn, và đó cũng là phong cách của những nhà lập trình chuyên nghiệp. 	thứ hai:trong C thì bắt buộc các biến,tham số phải được đặt trước bên trên (đầu tiên) của cả khối lệnh sự hỗ trợ nhằm giảm bớt các biến trong C của C++ trong C++ nó hỗ trợ bạn có thể khởi tạo 1 nơi và định nghĩa nó ở 1 nơi khác. Do đó nó giảm bớt những tham số,biến không cần thiết. Nó làm cho chương trình chúng ta dễ đọc và hiểu hơn. Vòng lặp for for(int j = 0; j < 100; j++) { 	cout << "j = " << j << endl; } Biến i và j được định nghĩa trong vòng Lặp. Nhưng trong ngôn ngữ C thì không thể nào hỗ trợ được việc đó. Do đó cần phải thêm những biến như loop_for_i hay loop_for_j Nhưng trong C ++ thì hỗ trơ việc đó. việc cấp phát vùng nhớ	 Mỗi biến đều có thể định nghĩa tại mọi nơi trong khối lệnh. Có 1 vùng nhớ dành riêng cho việc định nghĩa,khởi tạo các biến. Và người lập trình không thể nào can thiệp vào khi mà chưa định nghĩa. 	khởi tạo vùng nhớ theo dạng stack Vùng nhớ đươc cấp phát từ trên xuống theo dạng cấu trúc của stack Khởi tạo hàm tập hợp	 struct và class là tập hợp được định nghĩa bằng cách pha trộn các kiểu dữ liệu. Mảng thì chỉ là 1 kiểu dữ liệu. Khi khai báo tập hợp thì chúng ta cần phải làm theo 1 khuôn mẫu, việc khởi tạo phải xuyên suốt trong quá trình constructor Hàm default constructor Default construct là hàm mặc định, gọi mà không cần bất kỳ tham số nào. Thường thì chúng ta sử dụng default constructor nhằm: Muốn gọi đối tượng nhưng không muốn đưa ra chi tiếc. Sử dụng mảng mà không cần có tham số. Dù default constructor được trình biên dịch định nghĩa nhưng chúng tan vẫn nên viết 1 hàm riêng cho chính mình và phải viết 1 cách rõ ràng. 

File đính kèm:

  • pptxSlide Hàm khởi tạo và hàm hủy.pptx