Danh mục

Bài giảng Kỹ thuật lập trình: Phần 2 - ĐH CNTT&TT

Số trang: 78      Loại file: pdf      Dung lượng: 2.89 MB      Lượt xem: 19      Lượt tải: 0    
Jamona

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (78 trang) 0
Xem trước 8 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tiếp nối nội dung phần 1, phần 2 của bài giảng "Kỹ thuật lập trình" trang bị cho người học những kiến thức về lập trình hướng đối tượng trong C++ và các phương pháp xử lý đồ họa căn bản. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Phần 2 - ĐH CNTT&TT Bài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện Chương 2: Lập trình hướng đối tượng trong C++ 2.1 Lớp và đối tượng 2.1.1 Khái niệm, cú pháp khai báo  Lớp: Lớp là thành phần cơ bản của chương trình hướng đối tượng, dùng để định nghĩa đối tượng.  Đối tượng - Đối tượng là sự thể hiện của lớp. - Mỗi đối tượng được xác định bởi thuộc tính (dữ liệu, biến) và hành vi (phương thức). Thuộc tính để xác định tính chất riêng của đối tượng, hành vi là hành động tác động lên đối tượng.  Cú pháp: //Cú pháp khai báo lớp class tên_lớp{ [mức_độ_truy_cập:] Các_thuộc_tính [mức_độ_truy_cập:] Các_phương_thức }[tên_đối_tượng]; //Cú pháp khai báo đối tượng tên_lớp tên_đối tượng; - Thuộc tính: như khai báo biến - Phương thức: như khai báo hàm  Cách truy xuất: Tên_đối_tượng. Tên_thuộc_tính Tên_đối_tượng. Tên_phương_thức 2.1.2 Mức độ truy cập - Private: chỉ cho phép các hàm trong lớp truy cập đến thành phần này, các lớp khác không thể truy cập. - Public: được phép truy cập từ mọi lớp. - Protected: cho phép các thành viên của cùng một lớp hoặc từ một lớp dẫn xuất của nó. - Khi không có từ khóa truy cập thì toàn bộ các thành viên của lớp được hiểu mặc định là có thuộc tính private. class A class B { { //mac dinh la private void h() int x; { 38 Bộ môn Truyền thông đa phương tiện – Trường Đại học Công nghệ thông tin và truyền thông Bài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện void g() A a; { a.x++;//sai vì x là private của A /*g() trong cùng lớp A với x nên g() } truy xuất đươc x*/ }; x++; int main() } { public: A a; int f() a.g(); //sai vì g là private của A { coutBài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện coutBài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện coutBài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện - Giải phóng bộ nhớ trước khi kết thúc công việc với đối tượng đó. - Có tên trùng với hàm khởi tạo nhưng thêm dấu ~ trước tên hàm. - Không có tham số. - Trong chương trình chính ta không gọi hàm giải phóng nhưng hàm này vẫn được thực hiện. ~VD() { cout Bài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện Đối tượng làm tham số hàm, hàm trả về kiểu đối tượng Ví dụ: using namespace std; class VD{ private: int a,b; public: VD() { a=18; b=27; } VD(int x, int y) { a=x; b=y; } void show() { coutBài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện VD o3; o3 = o1.add(o2); //o2.mul(o2); o3.show(); system(pause); } 2.2 Nâng cao về lớp và đối tượng 2.2.1 Con trỏ đối tượng Chúng ta đã làm quen với mảng đối tượng và chúng ta cũng đã biết rằng có sự tương ứng 1-1 giữa mảng và con trỏ. Trong phần này, chúng ta sẽ thảo luận về con trỏ đối tượng. Việc khai báo con trỏ đối tượng hoàn toàn tương tự như khai báo con trỏ dữ liệu. Humans *man; Để truy cập đến các phương thức thành viên bên ngoài lớp (hàm thành viên), ta sử dụng dấu ->. Khi gọi phương thức khởi tạo, ta có thể gọi theo cách mà ta đã sử dụng cho con trỏ dữ liệu. Hoặc bạn có thể sử dụng toán tử new. Chương trình Kết quả … int main() Andy, 22 Jack, 21 { Humans man(“Andy”, 22); Humans *man0 = &man; //Hoặc Humans *man1 = new Humans(“Jack”, 21); coutBài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện x.y thành viên y của đối tượng x x->y thành viên y của đối tượng trỏ bởi x (*x).y thành viên y của đối tượng trỏ bởi x x[i] đối tượng thứ i trỏ bởi x 2.2.2 Con trỏ this Từ khoá this ở bên trong một lớp đại diện cho đối tượng của lớp đó đang được thực hiện trong bộ nhớ. Nó là một con trỏ luôn có giá trị là địa chỉ của đối tượng. Nó có thể được dùng để kiểm tra xem tham số được truyền cho một hàm thành viên có phải chính bản thân đối tượng hay không. Ví dụ: class myClass { int a,b; int add(int a, int b) { this.a=a;//a là tham số của phương thức, this.a là thành viên lớp this.b=b; return this.a+this.b; } } 2.2.3 Thành viên tĩnh Một lớp có thể chứa các thành viên tĩnh, cả dữ liệu và các hàm. Các dữ liệu tĩnh còn được gọi là biến của lớp vì nội dung của chúng không phụ thuộc vào một đối tượng nào. Chỉ có một giá trị duy nhất cho tất cả các đối tượng trong cùng một lớp. Ví dụ, nó có thể được trong trường hợp bạn muốn có một biến chứa số đối tượng thuộc lớp đã được khai báo: 45 Bộ môn Truyền thông đa phương tiện – Trường Đại học Công nghệ thông tin và truyền thông Bài giảng Kỹ thuật lập trình – Ngành Truyền thông đa phương tiện 2.3 Nạp chồng Nạp chồng là một đặc tính quan trọng của C++ đó là cơ chế giúp bạn thực hiện tính đa hình tron ...

Tài liệu được xem nhiều: