Xem mẫu

  1. om Bộ môn Công nghệ Phần mềm .c Viện CNTT & TT ng Trường Đại học Bách Khoa Hà Nội co an LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG th o ng du Bài 04. Khởi tạo và sử dụng đối u cu tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Nội dung om 1. Phương thức khởi tạo .c 2. Các loại phương thức khởi tạo ng Khai báo và khởi tạo đối tượng co 3. an 4. Sử dụng đối tượng th Quản lý bộ nhớ và so sánh đối tượng ng 5. o du 6. Hủy bỏ đối tượng u Ví dụ và bài tập cu 7. 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Bài giảng E-learning om ◼ Phương thức khởi tạo, khai báo và sử dụng đối tượng https://www.youtube.com/watch?v=rw_bPkesNH0 .c ◼ https://www.youtube.com/watch?v=MTCXgdBLrlw ng ◼ https://www.youtube.com/watch?v=XznNdY3Bfvg co ◼ Quản lý bộ nhớ: Stack và Heap an ◼ https://www.youtube.com/watch?v=450maTzSIvA th ◼ https://www.youtube.com/watch?v=1rLHJJqx98Q ng ◼ Equals và == o ◼ du ◼ https://www.youtube.com/watch?v=qQe69w1YF54 u Java finalize method cu ◼ ◼ https://www.youtube.com/watch?v=j3fRK7T1pQo 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Nội dung om 1. Phương thức khởi tạo .c 2. Các loại phương thức khởi tạo ng Khai báo và khởi tạo đối tượng co 3. an 4. Sử dụng đối tượng th Quản lý bộ nhớ và so sánh đối tượng ng 5. o du 6. Hủy bỏ đối tượng u Ví dụ và bài tập cu 7. 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. 1. Phương thức khởi tạo om ◼ Dữ liệu cần được khởi tạo trước khi sử dụng .c ◼ Lỗi khởi tạo là một trong các lỗi phổ biến Với kiểu dữ liệu đơn giản, sử dụng toán tử = ng ◼ co ◼ Với đối tượng → Cần dùng phương thức khởi tạo an th ng Student o - name du - address u cu - studentID - dateOfBirth Nguyễn Thu Hương Nguyễn Hoàng Nam … Hải Phòng… Hà Nội… 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Khởi tạo và hủy bỏ đối tượng Mỗi đối tượng khi tồn tại và hoạt động được hệ điều hành om ◼ cấp phát một vùng nhớ để lưu lại các giá trị của dữ liệu .c thành phần ng ◼ Khi tạo ra đối tượng HĐH sẽ gán giá trị khởi tạo cho các dữ co liệu thành phần an ◼ Phải được thực hiện tự động trước khi người lập trình có th thể tác động lên đối tượng ng ◼ Sử dụng hàm/phương thức khởi tạo o Ngược lại khi kết thúc cần phải giải phóng hợp lý tất cả các du ◼ bộ nhớ đã cấp phát cho đối tượng. u cu ◼ Java: JVM ◼ C++: Hàm hủy (destructor) 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. 1. Phương thức khởi tạo om ◼ Là phương thức đặc biệt được gọi tự động .c khi tạo ra đối tượng ng Mục đích chính: Khởi tạo cho các thuộc tính co ◼ của đối tượng an th Student ng - name o du - address - studentID u cu - dateOfBirth Nguyễn Thu Hương Nguyễn Hoàng Nam … Hải Phòng… Hà Nội… 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. 1. Phương thức khởi tạo om ◼ Mỗi lớp phải chứa ít nhất một constructor .c ◼ Có nhiệm vụ tạo ra một thể hiện mới của lớp ng ◼ Tên của constructor trùng với tên của lớp co ◼ Constructor không có kiểu dữ liệu trả về an Ví dụ: th ◼ ng o du public BankAccount(String o, double b){ u cu owner = o; balance = b; } 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. 1. Phương thức khởi tạo Phương thức khởi tạo có thể dùng các chỉ om ◼ định truy cập .c ng ◼ public co ◼ private an ◼ Không có (mặc định – phạm vi package) ◼ th Một phương thức khởi tạo không thể dùng ng các từ khóa abstract, static, final, o du native, synchronized. u cu ◼ Các phương thức khởi tạo không được xem như là thành viên của lớp. 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Nội dung om 1. Phương thức khởi tạo .c 2. Các loại phương thức khởi tạo ng Khai báo và khởi tạo đối tượng co 3. an 4. Sử dụng đối tượng th Quản lý bộ nhớ và so sánh đối tượng ng 5. o du 6. Hủy bỏ đối tượng u Ví dụ và bài tập cu 7. 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. 2. Các loại phương thức khởi tạo om ◼ 2 loại phương thức khởi tạo .c ◼ Phương thức khởi tạo mặc định (Phương thức ng khởi tạo không tham số) co Phương thức khởi tạo có tham số an ◼ th o ng du u cu 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Phương khởi tạo mặc định (default constructor) om ◼ Là phương thức khởi tạo KHÔNG THAM SỐ .c ng public BankAccount(){ co owner = "noname"; balance = 100000; an } th ng ◼ Một lớp nên có phương thức khởi tạo mặc định o du u cu 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. Phương thức khởi tạo mặc định om ◼ Khi LTV không viết một phương khởi tạo nào trong lớp JVM cung cấp phương thức khởi tạo mặc định .c ◼ Phương thức khởi tạo mặc định do JVM cung cấp có chỉ định truy ng ◼ cập giống như lớp của nó co public class MyClass{ an public static void main(String args){ th //... ng } public class MyClass{ o } du MyClass.java public MyClass(){ } u cu public static void main(String args){ //... } Compiled } MyClass.class 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. Phương thức khởi tạo không tham số om ◼ Một phương thức khởi dựng có thể có các .c tham số truyền vào ng Dùng khi muốn khởi tạo giá trị cho các thuộc co ◼ tính an ◼ Ví dụ: th o ng du public BankAccount(String o, double b){ u owner = o; cu balance = b; } 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Nội dung om 1. Phương thức khởi tạo .c 2. Các loại phương thức khởi tạo ng Khai báo và khởi tạo đối tượng co 3. an 4. Sử dụng đối tượng th Quản lý bộ nhớ và so sánh đối tượng ng 5. o du 6. Hủy bỏ đối tượng u Ví dụ và bài tập cu 7. 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. 3. Khai báo và khởi tạo đối tượng om ◼ Đối tượng được tạo ra, thể hiện hóa .c (instantiate) từ một mẫu chung (lớp). ng Các đối tượng phải được khai báo kiểu của co ◼ đối tượng trước khi sử dụng: an th ◼ Kiểu của đối tượng là lớp các đối tượng ng ◼ Ví dụ: o du ◼ String strName; u ◼ BankAccount acc; cu 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. 3. Khai báo và khởi tạo đối tượng Đối tượng cần được khởi tạo trước khi sử om ◼ dụng .c Sử dụng toán tử = để gán ng ◼ Sử dụng từ khóa new với constructor để khởi tạo đối co ◼ tượng: an ◼ Từ khóa new dùng để tạo ra một đối tượng mới th ◼ Tự động gọi phương thức khởi tạo tương ứng ng ◼ Một đối tượng được khởi tạo mặc định là null o Đối tượng được thao tác thông qua tham du ◼ chiếu (~ con trỏ). u cu ◼ Ví dụ: BankAccount acc1; acc1 = new BankAccount(); 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. 3. Khai báo và khởi tạo đối tượng om ◼ Có thể kết hợp vừa khai báo và khởi tạo đối .c tượng ng Cú pháp: co ◼ an Ten_lop ten_doi_tuong = new th Pthuc_khoi_tao(ds_tham_so); ng Ví dụ: o ◼ du BankAccount account = new BankAccount(); u cu 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. 3. Khai báo và khởi tạo đối tượng om ◼ Phương thức khởi tạo không có giá trị trả về, .c nhưng khi sử dụng với từ khóa new trả về một tham ng chiếu đến đối tượng mới co an th o ng du u cu 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. 3. Khai báo và khởi tạo đối tượng om ◼ Mảng các đối tượng được khai báo giống như .c mảng dữ liệu cơ bản ng Mảng các đối tượng được khởi tạo mặc định co ◼ với giá trị null. an ◼ Ví dụ: th o ng Employee emp1 = new Employee(123456); du Employee emp2; u cu emp2 = emp1; Department dept[] = new Department[100]; Test[] t = {new Test(1),new Test(2)}; 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn