Bài giảng Lập trình hướng đối tượng: Chương 3 - Trần Minh Thái (2016)
lượt xem 6
download
Bài giảng "Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng" trình bày các nội dung: Khái niệm lớp và đối tượng, toán tử gán, phương thức thiết lập, phương thức huỷ, con trỏ this, lớp template. Mời các bạn cùng tham khảo.
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 3 - Trần Minh Thái (2016)
- Chương 3 Lớp và đối tượng TRẦN MINH THÁI Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn Cập nhật: 08 tháng 02 năm 2015
- Nội dung #2 1. Khái niệm lớp và đối tượng 2. Toán tử gán 3. Phương thức thiết lập (constructor) 4. Phương thức huỷ (destructor) 5. Con trỏ this 6. Lớp template
- Lớp đối tượng là gì? (1/2) #3 • Lớp là khái niệm trung tâm của OOP, là sự mở rộng của khái niệm cấu trúc (struct) • Ngoài thành phần dữ liệu (như cấu trúc), lớp còn chứa các thành phần hàm, còn gọi là phương thức (method) hay hàm thành viên (member function)
- Lớp đối tượng là gì? (2/2) #4 • Lớp được xem như một kiểu dữ liệu (kiểu đối tượng) • Lớp giúp lập trình viên: • Trừu tượng hóa dữ liệu • Đóng gói • và ẩn thông tin
- Khai báo lớp (1/2) #5 • Cú pháp class class_name { : member_list }; Với member_list là đặc tả các thành viên Theo quy ước, tên lớp bắt đầu bởi ký tự C
- Khai báo lớp (2/2) #6 • Thành viên của lớp gồm • Thành viên dữ liệu (data member) thuộc tính • Hàm thành viên (member function) phương thức class CTime //Lớp thời gian { private: Thuộc tính int hour, minute, second; public: void SetTime(int h, int m, int s); Phương void Print(); thức };
- Khai báo lớp: thuộc tính (1/5) #7 • Là dữ liệu khai báo trong lớp • Cú pháp giống như khai báo biến • Có thể là một đối tượng nhưng phải khác đối tượng của lớp đang định nghĩa (con trỏ hay tham chiếu: OK) • Không thể vừa khai báo, vừa khởi tạo
- Khai báo lớp: thuộc tính (2/5) #8 class CTime //Lớp thời gian { private: int hour = 1; // Error int minute, second; public: void SetTime(int h, int m, int s); void Print(); };
- Khai báo lớp: phương thức (3/5) #9 • Hàm khai báo trong lớp (còn gọi là giao diện) • Có thể truy cập các thành viên dữ liệu và hàm thành viên khác • Cài đặt trong lớp hàm inline
- Khai báo lớp: phương thức (4/5) #10 • Cú pháp type_name class_name :: method_name ( parameter_list ) { … } • Hàm inline thêm từ khóa inline
- Khai báo lớp: cài đặt phương thức (5/5) #11 class CMyTime { private: int hour, minute, second; public: void SetTime(int h, int m, int s); void Print() { cout
- Thuộc tính truy xuất thành viên (1/3) (member access specifier) #12 • Xác định phạm vi của các thành viên của lớp có thể được sử dụng trực tiếp từ bên ngoài phạm vi lớp hay không • Các thuộc tính: private, protected, public
- Thuộc tính truy xuất thành viên (2/3) #13 • private (mặc định) Chỉ được truy xuất từ bên trong lớp • protected Chỉ được truy xuất từ bên trong lớp hoặc lớp dẫn xuất của nó • public (mặc định đối với thành viên của struct) Có thể được truy xuất từ bên ngoài lớp
- Thuộc tính truy xuất thành viên (3/3) #14 class CMyClass { !!! Các phương thức tiện private: ích chỉ được dùng bởi int x; các phương thức khác public: trong cùng lớp nên được khai báo private int y; void Print() { cout
- Sử dụng lớp đối tượng (1/4) #15 • Tạo đối tượng Sử dụng lớp giống như dùng struct, khai báo một biến lớp (tạo đối tượng) như khai báo biến struct • Khai báo con trỏ, tham chiếu tới lớp • Có thể khai báo con trỏ/ tham chiếu đến một đối tượng thuộc cùng lớp (truy cập gián tiếp) • Con trỏ/ tham chiếu không là instance của lớp
- Sử dụng lớp đối tượng (2/4) #16 Gọi hàm thành viên của lớp CMyTime t1; truyền thông điệp cho hàm thành viên đó CMyTime &t2=t1; CMyTime *t3 = &t1; t1.SetTime(12, 5, 5); t2.Print(); t3>SetTime(1, 5, 7); t3>Print();
- Sử dụng lớp đối tượng (3/4) #17 • Mỗi đối tượng sẽ có một tập các dữ liệu riêng (thuộc tính) được định nghĩa trong lớp • Tuy nhiên, tập các đối tượng thuộc cùng một lớp chỉ có chung duy nhất các định nghĩa hàm (phương thức)
- Sử dụng đối tượng (4/4) #18 CMyTime t1, t2; t1.SetTime(12, 5, 5); t2.SetTime(11,15, 15); t1.Print(); SetTime() t2.Print(); Print() hour=12 hour=11 minute=5 minute=15 second=5 second=15 Đối tượng t1 Đối tượng t2
- Toán tử gán (1/2) #19 • Dùng để gán một đối tượng cho một đối tượng khác của cùng một lớp CMyTime t1; • Nó được thực hiện bởi toán tử sao chép thành viên t1.SetTime(12, 5, 5); (memberwise copy) t1.Print(); CMyTime t2; t2 = t1; //memberwise copy t2.Print();
- Toán tử gán (2/2) #20 • Mỗi thành viên của một đối tượng này được sao chép riêng rẽ đến cùng một thành viên tương ứng của đối tượng khác • Chú ý đối với các thành viên dữ liệu chứa vùng nhớ cấp phát động hoặc con trỏ
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
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 | 174 | 12
-
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 | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
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 | 80 | 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 | 120 | 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 | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 87 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
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 | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
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 | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 104 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
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 | 11 | 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 | 15 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
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