Bài giảng Nguyên lý lập trình hướng đối tượng: Bài 3 - TS. Lý Anh Tuấn
Số trang: 43
Loại file: pdf
Dung lượng: 4.14 MB
Lượt xem: 17
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Nguyên lý lập trình hướng đối tượng: Bài 3 Cấu trúc và lớp, cung cấp cho người học những kiến thức như: Các kiểu cấu trúc; Cấu trúc là đối số hàm; Khởi tạo cấu trúc; Định nghĩa, hàm thành viên; Các thành phần public và private; Hàm truy cập và hàm biến đổi. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý lập trình hướng đối tượng: Bài 3 - TS. Lý Anh TuấnNGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 3: Cấu trúc và lớp Giảng viên: TS. Lý Anh Tuấn Email: tuanla@tlu.edu.vnNội dung1. Cấu trúc ◦ Các kiểu cấu trúc ◦ Cấu trúc là đối số hàm ◦ Khởi tạo cấu trúc2. Lớp ◦ Định nghĩa, hàm thành viên ◦ Các thành phần public và private ◦ Hàm truy cập và hàm biến đổi ◦ Cấu trúc vs. Lớp 2Cấu trúc Là kiểu dữ liệu gộp giống như mảng Điểm khác biệt so với mảng: ◦ Mảng: tập các giá trị có cùng kiểu ◦ Cấu trúc: tập các giá trị có kiểu khác nhau Định nghĩa cấu trúc: ◦ Trước khi khai báo biến ◦ Ở phạm vi toàn cục ◦ Việc định nghĩa không cấp phát bộ nhớ 3Cấu trúc Ví dụ: struct CDAccountV1 tên của kiểu cấu trúc mới { double balance; tên thành viên double interestRate; int term; }; Khai báo biến cho kiểu mới này CDAccountV1 account; ◦ Giống như khai báo các kiểu đơn giản ◦ Biến account có kiểu là CDAccountV1 ◦ Nó bao chứa các giá trị thành viên 4Truy cập các thành viên cấu trúc Dùng toán tử . để truy cập các thành viên ◦ account.balance ◦ account.interestRate ◦ account.term Được gọi là các biến thành viên ◦ Là thành phần của biến cấu trúc ◦ Các cấu trúc khác nhau có thể có các biến thành viên cùng tên 5Ví dụ về cấu trúc 6Ví dụ về cấu trúc 7Ví dụ về cấu trúc Kết quả thực thi 8Lỗi thường gặp với cấu trúc Quên dấu chấm phẩy sau định nghĩa cấu trúc struct WeatherData { double temperature; double windVelocity; }; Cần có dấu chấm phẩy! Bạn cũng có thể khai báo các biến cấu trúc ở vị trí trước dấu ; 9Phép gán cấu trúc Cho trước một cấu trúc tên là CropYield Khai báo hai biến cấu trúc: CropYield apples, oranges; ◦ Cả hai là biến thuộc kiểu cấu trúc CropYield ◦ Cho phép thực hiện phép gán đơn giản: apples = oranges; ◦ Việc này sao chép giá trị mỗi biến thành viên của oranges vào các biến thành viên của apples 10Cấu trúc là đối số hàm Có thể được truyền giống như các kiểu dữ liệu đơn giản ◦ Truyền giá trị ◦ Truyền tham chiếu ◦ Hoặc kết hợp Cũng có thể được trả về bởi hàm ◦ Kiểu trả về là kiểu cấu trúc ◦ Lệnh trả về trong định nghĩa hàm gửi biến cấu trúc trở lại lời gọi 11Khởi tạo cấu trúc Có thể khởi tạo lúc khai báo Ví dụ: struct Date { int day; int month; int year; }; Date dueDate = {31, 12, 2003}; Khai báo cung cấp dữ liệu khởi tạo cho cả ba biến thành viên 12Lớp Lớp bao gồm: ◦ Dữ liệu thành viên (giống cấu trúc) ◦ Có thêm hàm thành viên Cần cho lập trình hướng đối tượng ◦ Tập trung vào các đối tượng Đối tượng: Bao gồm dữ liệu và thao tác Trong C++, biến kiểu lớp là đối tượng 13Định nghĩa lớp Định nghĩa tương tự cấu trúc Ví dụ: class DayOfYear tên của kiểu lớp mới { public: void output(); hàm thành viên! int day; int month; }; Lưu ý: chỉ có nguyên mẫu của hàm thành viên, thi hành hàm nằm ở nơi khác 14Khai báo đối tượng Khai báo tương tự các biến ◦ Kiểu có sẵn, kiểu cấu trúc Ví dụ: DayOfYear today, birthday; Khai báo hai đối tượng kiểu lớp DayOfYear Các đối tượng bao gồm ◦ Dữ liệu: thành viên day, month ◦ Thao tác (hàm thành viên): output() 15Truy cập thành viên lớp Truy cập thành viên lớp tương tự như cấu trúc Ví dụ: today.day today.month ◦ Để truy cập hàm thành viên: today.output(); gọi hàm thành viên 16Hàm thành viên lớp Cần định nghĩa hoặc “thi hành” hàm thành viên lớp Giống như định nghĩa hàm ◦ Có thể đặt sau hàm main() ◦ Cần chỉ rõ lớp Ví dụ: void DayOfYear::output() {…} ◦ :: là toán tử phân giải phạm vi ◦ Nói cho trình biên dịch biết thành viên từ lớp nào ◦ Tên lớp trước :: được gọi là từ định kiểu 17Định nghĩa hàm thành viên lớp Xem định nghĩa của hàm thành viên output() (ví dụ trang sau) ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý lập trình hướng đối tượng: Bài 3 - TS. Lý Anh TuấnNGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 3: Cấu trúc và lớp Giảng viên: TS. Lý Anh Tuấn Email: tuanla@tlu.edu.vnNội dung1. Cấu trúc ◦ Các kiểu cấu trúc ◦ Cấu trúc là đối số hàm ◦ Khởi tạo cấu trúc2. Lớp ◦ Định nghĩa, hàm thành viên ◦ Các thành phần public và private ◦ Hàm truy cập và hàm biến đổi ◦ Cấu trúc vs. Lớp 2Cấu trúc Là kiểu dữ liệu gộp giống như mảng Điểm khác biệt so với mảng: ◦ Mảng: tập các giá trị có cùng kiểu ◦ Cấu trúc: tập các giá trị có kiểu khác nhau Định nghĩa cấu trúc: ◦ Trước khi khai báo biến ◦ Ở phạm vi toàn cục ◦ Việc định nghĩa không cấp phát bộ nhớ 3Cấu trúc Ví dụ: struct CDAccountV1 tên của kiểu cấu trúc mới { double balance; tên thành viên double interestRate; int term; }; Khai báo biến cho kiểu mới này CDAccountV1 account; ◦ Giống như khai báo các kiểu đơn giản ◦ Biến account có kiểu là CDAccountV1 ◦ Nó bao chứa các giá trị thành viên 4Truy cập các thành viên cấu trúc Dùng toán tử . để truy cập các thành viên ◦ account.balance ◦ account.interestRate ◦ account.term Được gọi là các biến thành viên ◦ Là thành phần của biến cấu trúc ◦ Các cấu trúc khác nhau có thể có các biến thành viên cùng tên 5Ví dụ về cấu trúc 6Ví dụ về cấu trúc 7Ví dụ về cấu trúc Kết quả thực thi 8Lỗi thường gặp với cấu trúc Quên dấu chấm phẩy sau định nghĩa cấu trúc struct WeatherData { double temperature; double windVelocity; }; Cần có dấu chấm phẩy! Bạn cũng có thể khai báo các biến cấu trúc ở vị trí trước dấu ; 9Phép gán cấu trúc Cho trước một cấu trúc tên là CropYield Khai báo hai biến cấu trúc: CropYield apples, oranges; ◦ Cả hai là biến thuộc kiểu cấu trúc CropYield ◦ Cho phép thực hiện phép gán đơn giản: apples = oranges; ◦ Việc này sao chép giá trị mỗi biến thành viên của oranges vào các biến thành viên của apples 10Cấu trúc là đối số hàm Có thể được truyền giống như các kiểu dữ liệu đơn giản ◦ Truyền giá trị ◦ Truyền tham chiếu ◦ Hoặc kết hợp Cũng có thể được trả về bởi hàm ◦ Kiểu trả về là kiểu cấu trúc ◦ Lệnh trả về trong định nghĩa hàm gửi biến cấu trúc trở lại lời gọi 11Khởi tạo cấu trúc Có thể khởi tạo lúc khai báo Ví dụ: struct Date { int day; int month; int year; }; Date dueDate = {31, 12, 2003}; Khai báo cung cấp dữ liệu khởi tạo cho cả ba biến thành viên 12Lớp Lớp bao gồm: ◦ Dữ liệu thành viên (giống cấu trúc) ◦ Có thêm hàm thành viên Cần cho lập trình hướng đối tượng ◦ Tập trung vào các đối tượng Đối tượng: Bao gồm dữ liệu và thao tác Trong C++, biến kiểu lớp là đối tượng 13Định nghĩa lớp Định nghĩa tương tự cấu trúc Ví dụ: class DayOfYear tên của kiểu lớp mới { public: void output(); hàm thành viên! int day; int month; }; Lưu ý: chỉ có nguyên mẫu của hàm thành viên, thi hành hàm nằm ở nơi khác 14Khai báo đối tượng Khai báo tương tự các biến ◦ Kiểu có sẵn, kiểu cấu trúc Ví dụ: DayOfYear today, birthday; Khai báo hai đối tượng kiểu lớp DayOfYear Các đối tượng bao gồm ◦ Dữ liệu: thành viên day, month ◦ Thao tác (hàm thành viên): output() 15Truy cập thành viên lớp Truy cập thành viên lớp tương tự như cấu trúc Ví dụ: today.day today.month ◦ Để truy cập hàm thành viên: today.output(); gọi hàm thành viên 16Hàm thành viên lớp Cần định nghĩa hoặc “thi hành” hàm thành viên lớp Giống như định nghĩa hàm ◦ Có thể đặt sau hàm main() ◦ Cần chỉ rõ lớp Ví dụ: void DayOfYear::output() {…} ◦ :: là toán tử phân giải phạm vi ◦ Nói cho trình biên dịch biết thành viên từ lớp nào ◦ Tên lớp trước :: được gọi là từ định kiểu 17Định nghĩa hàm thành viên lớp Xem định nghĩa của hàm thành viên output() (ví dụ trang sau) ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Nguyên lý lập trình hướng đối tượng Nguyên lý lập trình hướng đối tượng Lập trình hướng đối tượng Cấu trúc và lớp Khởi tạo cấu trúc Khai báo biếnTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 278 0 0 -
101 trang 202 1 0
-
14 trang 135 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 116 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 97 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 96 0 0 -
265 trang 84 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 77 0 0 -
33 trang 70 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 52 0 0