![](images/graphics/blank.gif)
Bài giảng Lập trình hướng đối tượng: Chương 2 - Phạm Minh Hoàn
Chia sẻ: Thiendiadaodien Thiendiadaodien | Ngày: | Loại File: PPT | Số trang:123
![](images/blank.gif)
lượt xem 3
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
Chương 2 - Lớp và đối tượng. Chương này trình bày những nội dung chính sau: Định nghĩa lớp, tạo lập đối tượng, truy nhập đến các thành phần của lớp, con trỏ đối tượng, con trỏ this, hàm bạn, dữ liệu thành phần tĩnh, hàm thành phần tĩnh, hàm tạo, hàm hủy, hàm tạo sao chép, toán tử tải bội.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 2 - Phạm Minh Hoàn
- CHƯƠNG 2: LỚP VÀ ĐỐI TƯỢNG Phạm Minh Hoàn Bộ môn công nghệ thông tin – Đại học Kinh tế Quốc dân Email: hoanpm@neu.edu.vn Phạm Minh Hoàn - NEU
- NỘI DUNG CHƯƠNG TRÌNH • Chương này trình bày những vấn đề sau đây: – Định nghĩa lớp – Tạo lập đối tượng – Truy nhập đến các thành phần của lớp – Con trỏ đối tượng – Con trỏ this – Hàm bạn – Dữ liệu thành phần tĩnh, hàm thành phần tĩnh – Hàm tạo, hàm hủy – Hàm tạo sao chép – Toán tử tải bội Phạm Minh Hoàn - NEU
- ĐỊNH NGHĨA LỚP • Lớp là khái niệm trung tâm của lập trình hướng đối tượng, nó là sự mở rộng của các khái niệm cấu trúc (struct) của C. • Ngoài các thành phần dữ liệu, lớp còn chứa các thành phần hàm, còn gọi là phương thức (method) hoặc hàm thành viên (member function). • Lớp có thể xem như một kiểu dữ liệu các biến, mảng đối tượng. Từ một lớp đã định nghĩa, có thể tạo ra nhiều đối tượng khác nhau, mỗi đối tượng có vùng nhớ riêng. Phạm Minh Hoàn - NEU
- ĐỊNH NGHĨA LỚP • Cú pháp: class tên_lớp { private: [Khai báo các thuộc tính] [Định nghĩa các hàm thành phần (phương thức)] public: [Khai báo các thuộc tính] [Định nghĩa các hàm thành phần (phương thức)] }; Phạm Minh Hoàn - NEU
- ĐỊNH NGHĨA LỚP • Thuộc tính là dữ liệu của lớp, phương thức là các hàm tác động lên dữ liệu của lớp đó được gọi là hàm của lớp. • Dữ liệu và hàm thành viên được gọi chung là các thành phần của lớp. Phạm Minh Hoàn - NEU
- ĐỊNH NGHĨA LỚP • Các thành phần của lớp được tổ chức thành hai vùng: vùng sở hữu riêng (private) và vùng dùng chung (public) để quy định phạm vi sử dụng của các thành phần. • Những thành phần thuộc vùng sở hữu riêng chỉ được sử dụng trong phạm vi của lớp, còn những thành phần thuộc vùng dùng chung có thể sử dụng cả ở trong và ngoài lớp. Phạm Minh Hoàn - NEU
- KHAI BÁO DỮ LIỆU THÀNH PHẦN • Khai báo các thuộc tính (dữ liệu) được thực hiện như khai báo biến có kiểu chuẩn hoặc kiểu ngoài chuẩn đã được định nghĩa trước (cấu trúc, hợp, lớp, ...). • Thuộc tính của lớp không thể có kiểu chính của lớp đó, nhưng có thể là kiểu con trỏ của lớp này. Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Các hàm thành phần có thể được xây dựng bên trong hoặc bên ngoài định nghĩa lớp. • Hàm thành phần đơn giản, có ít dòng lệnh sẽ được viết bên trong định nghĩa lớp như hàm thông thường. • Hàm thành phần dài thì viết bên ngoài định nghĩa lớp. Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Cú pháp định nghĩa hàm thành phần ở bên ngoài lớp: Kiểu_trả_về_của_hàm Tên_lớp::Tên_hàm(khai báo các tham số) { //Nội dung hàm } Toán tử :: được gọi là toán tử phân giải miền xác định, được dùng để chỉ ra lớp mà hàm đó thuộc vào. Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Hàm thành phần có thể không có giá trị trả về (kiểu void) hoặc có thể trả về một giá trị có kiểu bất kỳ, kể cả giá trị kiểu đối tượng, con trỏ đối tượng, tham chiếu đối tượng. • Tham số của hàm thành phần có thể có kiểu bất kỳ: kiểu chuẩn, kiểu ngoài chuẩn, kiểu đối tượng của chính phương thức, con trỏ hoặc tham chiếu đến kiểu đối tượng này. • Trong thân hàm thành phần, có thể sử dụng các thuộc tính của lớp, các hàm thành phần khác và các hàm tự do trong chương trình. Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Chú ý : – Các thành phần dữ liệu khai báo là private nhằm bảo đảm nguyên lý che dấu thông tin, bảo vệ an toàn dữ liệu của lớp, không cho phép các hàm bên ngoài xâm nhập vào dữ liệu của lớp. – Các hàm thành phần khai báo là public có thể được gọi tới từ các hàm thành phần public khác trong chương trình. Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Ví dụ: Định nghĩa lớp để mô tả và xử lý các điểm trên màn hình đồ họa. Lớp được đặt tên là DIEM. – Các thuộc tính của lớp gồm: • int x; // hoành độ (cột) • int y; // tung độ (hàng) • int m; // màu – Các phương thức: • Nhập dữ liệu của một điểm • Hiển thị một điểm • Ẩn một điểm Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Ví dụ: Xậy dựng lớp DIEM. class DIEM { private: int x,y,m; public: void nhapdl(); void hien(); void an() { putpixel(x,y,getbkcolor()); } }; Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Ví dụ: Xậy dựng lớp DIEM. void DIEM::nhapdl() { coutx>>y; coutm; } Phạm Minh Hoàn - NEU
- KHAI BÁO HÀM THÀNH PHẦN • Ví dụ: Xậy dựng lớp DIEM. void DIEM::hien() { int mau_ht; mau_ht = getcolor(); putpixel(x,y,m); setcolor(mau_ht); } Phạm Minh Hoàn - NEU
- TẠO LẬP ĐỐI TƯỢNG • Đối tượng là biến thuộc kiểu lớp. • Cú pháp khai báo biến đối tượng: Tên_lớp Danh_sách_biến ; • Đối tượng cũng có thể khai báo khi định nghĩa lớp theo cú pháp: class tên_lớp { ... } ; Phạm Minh Hoàn - NEU
- TẠO LẬP ĐỐI TƯỢNG • Mỗi đối tượng sau khi khai báo sẽ được cấp phát một vùng nhớ riêng để chứa các thuộc tính của chúng. • Không có vùng nhớ riêng để chứa các hàm thành phần cho mỗi đối tượng. • Các hàm thành phần sẽ được sử dụng chung cho tất cả các đối tượng cùng lớp. Phạm Minh Hoàn - NEU
- TẠO LẬP ĐỐI TƯỢNG • Truy nhập tới các thành phần của đối tượng: – Truy nhập đến dữ liệu thành phần: Tên_đối_tượng.Tên_thuộc_tính – Chú ý: • Dữ liệu thành phần riêng chỉ có thể được truy nhập bởi những hàm thành phần của cùng một lớp • Đối tượng của lớp cũng không thể truy nhập. – Truy nhập đến hàm thành phần của lớp: Tên_đối_tượng.Tên_hàm (Tham_số_thực_sự); Phạm Minh Hoàn - NEU
- TẠO LẬP ĐỐI TƯỢNG • Ví dụ: #include #include class DIEM { private: int x,y ; public: void nhapsl( ) { cout >x>>y ; } void hienthi( ) { cout
- TẠO LẬP ĐỐI TƯỢNG • Ví dụ: //#include main() { DIEM d1; d1.nhapsl(); d1.hienthi (); getch(); DIEM d2; d2.x = 10; d2.y = 20; d2.hienthi(); getch(); } Phạm Minh Hoàn - NEU
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 3 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
38 p |
144 |
19
-
Bài giảng Lập trình hướng đối tượng - Chương 2: Đối tượng và lớp
21 p |
176 |
15
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p |
181 |
12
-
Bài giảng Lập trình hướng đối tượng - Chương 3: Kế thừa
18 p |
143 |
10
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p |
146 |
9
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p |
86 |
8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p |
125 |
8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p |
108 |
8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan về OOP
0 p |
150 |
7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p |
202 |
7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p |
111 |
7
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p |
70 |
6
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p |
103 |
5
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - GV. Hà Văn Sang
29 p |
93 |
5
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p |
18 |
4
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p |
110 |
4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p |
21 |
3
-
Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 2: Phương pháp lập trình hướng đối tượng
35 p |
15 |
3
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)