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

Bài giảng môn Lập trình hướng đối tượng: Chương 5 - TS. Nguyễn Văn Hiệp

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

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

Bài giảng cung cấp cho người học kiến thức: 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,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn Lập trình hướng đối tượng: Chương 5 - TS. Nguyễn Văn Hiệp

Chương 5<br /> <br /> Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng<br /> 5.0 Dẫn nhập<br /> 5.1 Quản lý ₫ời sống ₫ối tượng - Hàm Constructor<br /> 5.2 Quản lý ₫ời sống ₫ối tượng - Hàm Destructor<br /> 5.3 Tương tác giữa các ₫ối tượng trong VC#<br /> 5.4 Liên kết tĩnh trong việc gởi thông ₫iệp<br /> 5.5 Liên kết ₫ộng ₫ể có ₫a xạ<br /> 5.6 Xử lý sự kiện luôn có tính ₫a xạ<br /> 5.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 : Lập trình hướng ₫ối tượng<br /> Chương 5 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 1<br /> <br /> 5.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 : Lập trình hướng ₫ối tượng<br /> Chương 5 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 2<br /> <br /> 5.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ó nhiều<br /> "overloaded" khác nhau (với số lượng tham số khác nhau hay tính<br /> 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 : Lập trình hướng ₫ối tượng<br /> Chương 5 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 3<br /> <br /> 5.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 tính<br /> của mình và các thuộc tính thừa kế từ cha có tầm vực protected,<br /> public, chứ không thể truy xuất trực tiếp các thuộc tính thừa kế từ<br /> cha có thuộc tính private. Do ₫ó nếu chỉ chạy constructor của class<br /> cần tạo ₫ối tượng thì không thể khởi tạo hết các thuộc tính của ₫ối<br /> tượng, cần kích hoạt hết các contructor của các class cha (gián tiếp<br /> 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 : Lập trình hướng ₫ối tượng<br /> Chương 5 : Vòng ₫ời ₫ối tượng và sự tương tác giữa chúng trong C#<br /> Slide 4<br /> <br /> 5.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 : Lập trình hướng ₫ối tượng<br /> Chương 5 : 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
2=>2