Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 4 - TS. Nguyễn Văn Hiệp
Số trang: 21
Loại file: pdf
Dung lượng: 162.88 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nội dung bài giảng bao gồm: Dẫn nhập; quản lý đời sống đối tượng - Hàm Constructor; quản lý đời sống đối tượng - Hàm Destructor; tương tác giữa các đối tượng trong VC#; liên kết tĩnh trong việc gởi thông điệp; liên kết động để có đa xạ, xử lý sự kiện luôn có tính đa xạ. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 4 - TS. Nguyễn Văn HiệpChương 4Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng4.0 Dẫn nhập4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor4.2 Quản lý ₫ời sống ₫ối tượng - Hàm Destructor4.3 Tương tác giữa các ₫ối tượng trong VC#4.4 Liên kết tĩnh trong việc gởi thông ₫iệp4.5 Liên kết ₫ộng ₫ể có ₫a xạ4.6 Xử lý sự kiện luôn có tính ₫a xạ4.7 Kết chươngKhoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 14.0 Dẫn nhậpChương này giới thiệu vòng ₫ời của từng ₫ối tượng trong chươngtrình, cách thức quản lý ₫ời sống của ₫ối tượng, các thời ₫iểmquan trọng nhất như lúc tạo mới ₫ối tượng, lúc xóa ₫ối tượng cũngnhư cách miêu tả các hoạt ₫ộng xảy ra tại các thời ₫iểm này.Chương này cũng giới thiệu sự tương tác giữa các ₫ối tượng tronglúc chúng ₫ang sống ₫ể hoàn thành nhiệm vụ của chương trình.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 24.1 Quản lý ₫ời sống ₫ối tượng - Hàm ConstructorClass mô hình các ₫ối tượng cùng loại mà phần mềm dùng. Lúclập trình, ta chỉ ₫ặc tả class, ₫ối tượng chưa có. Khi ứng dụngchạy, tại thời ₫iểm cần thiết, phần mềm sẽ phải tạo tường minh₫ối tượng bằng lệnh new :Rectangle objRec = new Rectangle(); //tạo ₫ối tượngTrạng thái của ₫ối tượng là tập giá trị cụ thể của các thuộc tính.Ngay sau ₫ối tượng ₫ược tạo ra, nó cần có trạng thái ban ₫ầu xáclập nào ₫ó. Hàm constructor cho phép người lập trình miêu tảhoạt ₫ộng xác lập trạng thái ban ₫ầu của ₫ối tượng.Cũng giống như nhiều tác vụ khác, hàm contructor có thể cónhiều overloaded khác nhau (với số lượng tham số khác nhauhay tính chất của 1 tham số nào ₫ó khác nhau).Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 34.1 Quản lý ₫ời sống ₫ối tượng - Hàm ConstructorMỗi lần ₫ối tượng ₫ược tạo ra (bởi lệnh new), máy sẽ gọi tự ₫ộngcontructor của class tương ứng. Tùy theo tham số của lệnh newmà contructor nào tương thích sẽ ₫ược kích hoạt chạy.Trong nội bộ 1 class, các tác vụ chỉ có thể truy xuất các thuộctính của mình và các thuộc tính thừa kế từ cha có tầm vựcprotected, public, chứ không thể truy xuất trực tiếp các thuộc tínhthừa kế từ cha có thuộc tính private. Do ₫ó nếu chỉ chạyconstructor của class cần tạo ₫ối tượng thì không thể khởi tạo hếtcác thuộc tính của ₫ối tượng, cần kích hoạt hết các contructorcủa các class cha (gián tiếp hay trực tiếp).Mặc ₫ịnh, khi cần gọi constructor của class cha chạy, máy sẽ gọicontructor không tham số. Nếu người lập trình muốn khác thì phảikhai báo lại tường minh overloaded nào cần chạy thông quamệnh ₫ề base() trong lệnh ₫ịnh nghĩa hàm contructor.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 44.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructorclass A {C c = new C(); //A()->B(3.1416)->C()private int i;…A() { this.i = 0; }…A(int i) { this.i = i; }}C = new C(true); //A()->B()->C(true)class B : A {private double d;…B() { this.d = 0; }B(double d) : base () { this.d = d; }}class C : B {private bool b;…C() : base(3.1416) { this.b = false; }C(bool b) { this.b = b; }}Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 5
Nội dung trích xuất từ tài liệu:
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 4 - TS. Nguyễn Văn HiệpChương 4Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng4.0 Dẫn nhập4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor4.2 Quản lý ₫ời sống ₫ối tượng - Hàm Destructor4.3 Tương tác giữa các ₫ối tượng trong VC#4.4 Liên kết tĩnh trong việc gởi thông ₫iệp4.5 Liên kết ₫ộng ₫ể có ₫a xạ4.6 Xử lý sự kiện luôn có tính ₫a xạ4.7 Kết chươngKhoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 14.0 Dẫn nhậpChương này giới thiệu vòng ₫ời của từng ₫ối tượng trong chươngtrình, cách thức quản lý ₫ời sống của ₫ối tượng, các thời ₫iểmquan trọng nhất như lúc tạo mới ₫ối tượng, lúc xóa ₫ối tượng cũngnhư cách miêu tả các hoạt ₫ộng xảy ra tại các thời ₫iểm này.Chương này cũng giới thiệu sự tương tác giữa các ₫ối tượng tronglúc chúng ₫ang sống ₫ể hoàn thành nhiệm vụ của chương trình.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 24.1 Quản lý ₫ời sống ₫ối tượng - Hàm ConstructorClass mô hình các ₫ối tượng cùng loại mà phần mềm dùng. Lúclập trình, ta chỉ ₫ặc tả class, ₫ối tượng chưa có. Khi ứng dụngchạy, tại thời ₫iểm cần thiết, phần mềm sẽ phải tạo tường minh₫ối tượng bằng lệnh new :Rectangle objRec = new Rectangle(); //tạo ₫ối tượngTrạng thái của ₫ối tượng là tập giá trị cụ thể của các thuộc tính.Ngay sau ₫ối tượng ₫ược tạo ra, nó cần có trạng thái ban ₫ầu xáclập nào ₫ó. Hàm constructor cho phép người lập trình miêu tảhoạt ₫ộng xác lập trạng thái ban ₫ầu của ₫ối tượng.Cũng giống như nhiều tác vụ khác, hàm contructor có thể cónhiều overloaded khác nhau (với số lượng tham số khác nhauhay tính chất của 1 tham số nào ₫ó khác nhau).Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 34.1 Quản lý ₫ời sống ₫ối tượng - Hàm ConstructorMỗi lần ₫ối tượng ₫ược tạo ra (bởi lệnh new), máy sẽ gọi tự ₫ộngcontructor của class tương ứng. Tùy theo tham số của lệnh newmà contructor nào tương thích sẽ ₫ược kích hoạt chạy.Trong nội bộ 1 class, các tác vụ chỉ có thể truy xuất các thuộctính của mình và các thuộc tính thừa kế từ cha có tầm vựcprotected, public, chứ không thể truy xuất trực tiếp các thuộc tínhthừa kế từ cha có thuộc tính private. Do ₫ó nếu chỉ chạyconstructor của class cần tạo ₫ối tượng thì không thể khởi tạo hếtcác thuộc tính của ₫ối tượng, cần kích hoạt hết các contructorcủa các class cha (gián tiếp hay trực tiếp).Mặc ₫ịnh, khi cần gọi constructor của class cha chạy, máy sẽ gọicontructor không tham số. Nếu người lập trình muốn khác thì phảikhai báo lại tường minh overloaded nào cần chạy thông quamệnh ₫ề base() trong lệnh ₫ịnh nghĩa hàm contructor.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 44.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructorclass A {C c = new C(); //A()->B(3.1416)->C()private int i;…A() { this.i = 0; }…A(int i) { this.i = i; }}C = new C(true); //A()->B()->C(true)class B : A {private double d;…B() { this.d = 0; }B(double d) : base () { this.d = d; }}class C : B {private bool b;…C() : base(3.1416) { this.b = false; }C(bool b) { this.b = b; }}Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Các mẫu thiết kế hướng ₫ối tượngChương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#Slide 5
Tìm kiếm theo từ khóa liên quan:
Thiết kế hướng đối tượng Bài giảng Thiết kế hướng đối tượng Các mẫu thiết kế hướng đối tượng Vòng đời đối tượng Tính đa xạ Liên kết tĩnhGợi ý tài liệu liên quan:
-
Bài giảng Phân tích và thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
9 trang 242 0 0 -
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Nguyễn Ngọc Duy
7 trang 224 0 0 -
69 trang 146 0 0
-
10 trang 66 0 0
-
Bài giảng Nhập môn công nghệ phần mềm: Chương 7 - Nguyễn Thanh Bình
77 trang 53 0 0 -
64 trang 46 3 0
-
Bài giảng Phân tích thiết kế hướng đối tượng: Giới thiệu - Trương Ninh Thuận
5 trang 35 0 0 -
GiỚI THIỆU CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
29 trang 28 0 0 -
Nhập môn kỹ nghệ phần mềm - Chương 4
22 trang 25 0 0 -
Giáo trình về môn cấu trúc dữ liệu
304 trang 25 0 0