Trang 1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI UNIVERSITY OF SCIENCE AND TECHNOLOGY KỸ THUẬT LẬP TRÌNH HỆ CƠ ĐIỆN TỬ Programming Engineering in Mechatronics Giảng viên: TS. TRƯƠNG CÔNG TUẤN Bộ môn Cơ Điện Tử - Viện Cơ Khí – ĐHBK Hà Nội
Đang tạo bản xem trước...
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI UNIVERSITY OF SCIENCE AND TECHNOLOGY KỸ THUẬT LẬP TRÌNH HỆ CƠ ĐIỆN TỬ Programming Engineering in Mechatronics Giảng viên: TS. TRƯƠNG CÔNG TUẤN Bộ môn Cơ Điện Tử - Viện Cơ Khí – ĐHBK Hà Nội
KỸ THUẬT LẬP TRÌNH HỆ CƠ ĐIỆN TỬ 1. Tổng quan về ngôn ngữ lập trình 7. Cấu trúc 2. Giới thiệu sơ bộ ngôn ngữ C 8. Vào/ra trong C 3. Kiểu, toán tử và biểu thức 9. Cơ sở của C++ 4. Dòng điều khiển 10.Lớp 5. Hàm và cấu trúc chương trình 11.Kế thừa và đa hình 6. Con trỏ và mảng 12.Luồng vào/ra trong C++ 2
CHƯƠNG 10: LỚPContent 10.1. Lập trình OOP và định nghĩa lớp 10.2. Khai báo đối tượng 10.3. Hàm tạo hàm hủy 10.4 Hàm bạn 10.5 Phần tử tĩnh 10.6 Quá tải các toán tử
10.1. Lập trình OOP và định nghĩa lớp • Mục đích chính của C++ là bổ sung thêm tính hướng đối tượng (object) cho Ngôn ngữ lập trình C và các Lớp (class) là tính năng trung tâm của C++ mà hỗ trợ lập trình hướng đối tượng (Object- oriented programming -OOP) và thường được gọi là các kiểu người dùng tự định nghĩa (user- defined). • Giúp người lập trình quản lý phát triển và quản lý code dễ dàng hơn. 4
10.1. Lập trình OOP và định nghĩa lớp • OOP là nghệ thuật quan sát các đối tượng rồi cố gắng nắm bắt những hành động cùng đặc tính của chúng và biểu diễn dưới dạng đối tượng ảo trong ngôn ngữ lập trình • Đặc điểm của lập trình hướng đối tượng Abstraction: tính trừu tượng. Encapsulation: tính đóng gói. Inheritance: tính kế thừa. Polymorphism: tính đa hình. 5
10.1. Lập trình OOP và định nghĩa lớp • Abstraction: Tập trung vào cốt lõi của đối tượng, bỏ qua những thứ không liên quan và không quan trọng. • Encapsulation: Gói dữ liệu (data, ~ biến, trạng thái) và mã chương trình (code, ~ phương thức) thành một lớp (class) để dễ quản lý • Inheritance: Kế thừa là cách tạo lớp mới từ các lớp đã được định nghĩa từ trước • Polymorphism: poly (nhiều) + phism(body) = nhiều hình thái. Tính đa hình được thể hiện qua việc viết lại các method (hàm) từ class cha thông qua class kế thừa nó 6
10.1. Lập trình OOP và định nghĩa lớp Ví dụ về tính đóng gói và che giấu thông tin (data hiding) trong lập trình OOP Viên thuốc được bao quanh bởi lớp vỏ chính là Class Method và Variable là những thành phần bên trong viên thuốc, được bao lại, che giấu đi và không thể nhìn 7
10.1. Lập trình OOP và định nghĩa lớp A class is a collection of related data and function under a single name • Một định nghĩa lớp gồm 2 thành phần: phần đầu và phần thân. - Phần đầu lớp chỉ định tên lớp và các lớp cơ sở. - Phần thân lớp định nghĩa các thành viên lớp. • Có hai loại thành viên. - Dữ liệu thành viên: Có cú pháp của định nghĩa biến và chỉ định các đại diện cho các đối tượng của lớp. - Hàm thành viên: Có cú pháp của khai báo hàm và chỉ định các thao tác của lớp. 8
10.2. Khai báo đối tượng + Khai báo: class <Tên lớp> { public: (danh sách các thành viên [bao gồm cả thuộc tính và phương thức] có đặc tính công cộng) private: (danh sách các thành viên [bao gồm cả thuộc tính và phương thức] có đặc tính riêng tư) protected: (danh sách các thành viên [bao gồm cả thuộc tính và phương thức] có thể truy cập từ lớp dẫn xuất) }; // dấu chấm phẩy chấm dứt câu lệnh 9
10.2. Khai báo đối tượng • Lớp sau khi định nghĩa có thể xem như một kiểu đối tượng và có thể dùng để khai báo các biến, mảng, con trỏ đối tượng 14
10.2. Khai báo đối tượng Sử dụng phương thức và thuộc tính của lớp a. Thuộc tính của đối tượng: 16
10.2. Khai báo đối tượng b. Ví dụ: Viết chương trình sử dụng Class để tính thể tích hình hộp chữ nhật 19
#include <iostream> using namespace std; class Box { public: double chieudai; // chieu dai cua hop double chieurong; // chieu rong cua hop double chieucao; // chieu cao cua hop }; int main(){ Box Box1; // Khai bao Box1 la cua kieu Box Box Box2; // Khai bao Box2 la cua kieu Box double thetich = 0.0; // Luu giu the tich cua Box vao bien thetich Box1.chieucao = 4.5; // box 1 specification Box1.chieudai = 2.2; Box1.chieurong = 1.5; Box2.chieucao = 3.2; // box 2 specification Box2.chieudai = 4.5; Box2.chieurong = 2.3; // thetich of box 1 thetich = Box1.chieucao * Box1.chieudai * Box1.chieurong; cout << "The tich cua Box1 la: " << thetich << endl; // thetich of box 2 thetich = Box2.chieucao * Box2.chieudai * Box2.chieurong; cout << "The tich cua Box2 la: " << thetich << endl; cin.get(); return 0;} 20
Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.
Chưa có bình luận nào. Hãy là người đầu tiên!
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!