intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: N N | Ngày: | Loại File: PDF | Số trang:21

55
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: 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

Chương 4<br /> <br /> Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng<br /> 4.0 Dẫn nhập<br /> 4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor<br /> 4.2 Quản lý ₫ời sống ₫ối tượng - Hàm Destructor<br /> 4.3 Tương tác giữa các ₫ối tượng trong VC#<br /> 4.4 Liên kết tĩnh trong việc gởi thông ₫iệp<br /> 4.5 Liên kết ₫ộng ₫ể có ₫a xạ<br /> 4.6 Xử lý sự kiện luôn có tính ₫a xạ<br /> 4.7 Kết chương<br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Các mẫu thiết kế hướng ₫ối tượng<br /> Chương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 1<br /> <br /> 4.0 Dẫn nhập<br /> <br /> <br /> <br /> <br /> Chương này giới thiệu vòng ₫ời của từng ₫ối tượng trong chương<br /> trình, cách thức quản lý ₫ời sống của ₫ối tượng, các thời ₫iểm<br /> quan trọng nhất như lúc tạo mới ₫ối tượng, lúc xóa ₫ối tượng cũng<br /> như cách miêu tả các hoạt ₫ộng xảy ra tại các thời ₫iểm này.<br /> Chương này cũng giới thiệu sự tương tác giữa các ₫ối tượng trong<br /> lúc chúng ₫ang sống ₫ể hoàn thành nhiệm vụ của chương trình.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Các mẫu thiết kế hướng ₫ối tượng<br /> Chương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 2<br /> <br /> 4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor<br /> <br /> <br /> <br /> <br /> <br /> <br /> Class mô hình các ₫ối tượng cùng loại mà phần mềm dùng. Lúc<br /> lập trình, ta chỉ ₫ặc tả class, ₫ối tượng chưa có. Khi ứng dụng<br /> chạy, tại thời ₫iểm cần thiết, phần mềm sẽ phải tạo tường minh<br /> ₫ối tượng bằng lệnh new :<br /> Rectangle objRec = new Rectangle(); //tạo ₫ối tượng<br /> Trạng thái của ₫ối tượng là tập giá trị cụ thể của các thuộc tính.<br /> Ngay sau ₫ối tượng ₫ược tạo ra, nó cần có trạng thái ban ₫ầu xác<br /> lập nào ₫ó. Hàm constructor cho phép người lập trình miêu tả<br /> hoạt ₫ộng xác lập trạng thái ban ₫ầu của ₫ối tượng.<br /> Cũng giống như nhiều tác vụ khác, hàm contructor có thể có<br /> nhiều "overloaded" khác nhau (với số lượng tham số khác nhau<br /> hay tính chất của 1 tham số nào ₫ó khác nhau).<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Các mẫu thiết kế hướng ₫ối tượng<br /> Chương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 3<br /> <br /> 4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor<br /> <br /> <br /> <br /> <br /> <br /> <br /> Mỗi lần ₫ối tượng ₫ược tạo ra (bởi lệnh new), máy sẽ gọi tự ₫ộng<br /> contructor của class tương ứng. Tùy theo tham số của lệnh new<br /> mà contructor nào tương thích sẽ ₫ược kích hoạt chạy.<br /> Trong nội bộ 1 class, các tác vụ chỉ có thể truy xuất các thuộc<br /> tính của mình và các thuộc tính thừa kế từ cha có tầm vực<br /> protected, public, chứ không thể truy xuất trực tiếp các thuộc tính<br /> thừa kế từ cha có thuộc tính private. Do ₫ó nếu chỉ chạy<br /> constructor của class cần tạo ₫ối tượng thì không thể khởi tạo hết<br /> các thuộc tính của ₫ối tượng, cần kích hoạt hết các contructor<br /> của các class cha (gián tiếp hay trực tiếp).<br /> Mặc ₫ịnh, khi cần gọi constructor của class cha chạy, máy sẽ gọi<br /> contructor không tham số. Nếu người lập trình muốn khác thì phải<br /> khai báo lại tường minh "overloaded" nào cần chạy thông qua<br /> mệnh ₫ề base() trong lệnh ₫ịnh nghĩa hàm contructor.<br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Các mẫu thiết kế hướng ₫ối tượng<br /> Chương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 4<br /> <br /> 4.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor<br /> class A {<br /> C c = new C(); //A()->B(3.1416)->C()<br /> private int i;…<br /> A() { this.i = 0; }<br /> …<br /> A(int i) { this.i = i; }<br /> }<br /> C = new C(true); //A()->B()->C(true)<br /> class B : A {<br /> private double d;…<br /> B() { this.d = 0; }<br /> B(double d) : base () { this.d = d; }<br /> }<br /> class C : B {<br /> private bool b;…<br /> C() : base(3.1416) { this.b = false; }<br /> C(bool b) { this.b = b; }<br /> }<br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Các mẫu thiết kế hướng ₫ối tượng<br /> Chương 4 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0