Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
4,14 MB
Nội dung
NGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 3: Cấu trúc lớp Giảng viên: TS Lý Anh Tuấn Email: tuanla@tlu.edu.vn Nội dung Cấu trúc ◦ Các kiểu cấu trúc ◦ Cấu trúc đối số hàm ◦ Khởi tạo cấu trúc Lớp ◦ ◦ ◦ ◦ Định nghĩa, hàm thành viên Các thành phần public private Hàm truy cập hàm biến đổi Cấu trúc vs Lớp Cấu trúc Là kiểu liệu gộp giống mảng Điểm khác biệt so với mảng: ◦ Mảng: tập giá trị có kiểu ◦ Cấu trúc: tập giá trị có kiểu khác Định nghĩa cấu trúc: ◦ Trước khai báo biến ◦ Ở phạm vi toàn cục ◦ Việc định nghĩa không cấp phát nhớ Cấu trúc Ví dụ: struct CDAccountV1 tên kiểu cấu trúc { double balance; tên thành viên double interestRate; int term; }; Khai báo biến cho kiểu CDAccountV1 account; ◦ Giống khai báo kiểu đơn giản ◦ Biến account có kiểu CDAccountV1 ◦ Nó bao chứa giá trị thành viên Truy cập thành viên cấu trúc Dùng toán tử để truy cập thành viên ◦ account.balance ◦ account.interestRate ◦ account.term Được gọi biến thành viên ◦ Là thành phần biến cấu trúc ◦ Các cấu trúc khác có biến thành viên tên Ví dụ cấu trúc Ví dụ cấu trúc Ví dụ cấu trúc Kết thực thi Lỗ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 khai báo biến cấu trúc vị trí trước dấu ; Phép gán cấu trúc Cho trước cấu trúc tên CropYield Khai báo hai biến cấu trúc: CropYield apples, oranges; ◦ Cả hai biến thuộc kiểu cấu trúc CropYield ◦ Cho phép thực phép gán đơn giản: apples = oranges; ◦ Việc chép giá trị biến thành viên oranges vào biến thành viên apples 10 Thành viên public private Dữ liệu lớp thường khai báo private định nghĩa ◦ Duy trì quy tắc OOP ◦ Ẩn liệu với người dùng ◦ Chỉ cho phép vận hành thao tác (hàm thành viên) Các mục public (thường hàm thành viên) cho phép “truy cập mức người dùng” 29 Ví dụ public private Sửa lại ví dụ trước: class DayOfYear { public: void input(); void output(); private: int day; int month; }; Dữ liệu private Đối tượng truy cập trực tiếp 30 Ví dụ public private (2) Sử dụng ví dụ trước Khai báo đối tượng: DayOfYear today; Đối tượng today truy cập thành viên public ◦ cin >> today.day; // Không phép! ◦ cout đối tượng Biến thành viên hàm thành viên ◦ Có thể public truy cập bên ngồi lớp ◦ Có thể private chỉ truy cập bên định nghĩa hàm Kiểu lớp kiểu cấu trúc làm tham số hình thức cho hàm Định nghĩa lớp C++ nên tách biệt hai phần ◦ Giao diện: người dùng cần ◦ Sự thi hành: chi tiết lớp làm việc 43 ... ba biến thành viên 12 Lớ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 đối tượng Đối tượng: Bao gồm liệu... sử dụng cho tất đối tượng lớp ◦ Khi gọi tham chiếu đến liệu đối tượng ◦ Ví dụ: today.output(); hiển thị liệu đối tượng today 18 Ví dụ lớp hồn chỉnh Khai báo hàm thành viên 19 Ví dụ lớp hoàn... nằm nơi khác 14 Khai báo đối tượng Khai báo tương tự 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