intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng - Lớp và đối tượng

Chia sẻ: Quenchua6 Quenchua6 | Ngày: | Loại File: PDF | Số trang:65

21
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình hướng đối tượng - Lớp và đối tượng với các nội dung: cú pháp khai báo lớp, định nghĩa hàm thành phần của lớp, khai báo và tạo lập đối tượng, phạm vi truy xuất, phương thức thiết lập – Constructor, phương thức hủy bỏ – Destructor, phương thức truy vấn, cvập nhật, thành viên tĩnh – static member.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng - Lớp và đối tượng

  1. LỚP VÀ ĐỐI TƯỢNG Khoa Công nghệ phần mềm CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Nội dung Cú pháp khai báo lớp Định nghĩa hàm thành phần của lớp Khai báo và tạo lập đối tượng Phạm vi truy xuất Phương thức thiết lập – Constructor Phương thức hủy bỏ – Destructor Phương thức Truy vấn, Cập nhật Thành viên tĩnh – static member 29/02/2016 Lập trình hướng đối tượng 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Lớp trong C++ Một lớp bao gồm các thành phần dữ liệu (thuộc tính) và các phương thức (hàm thành phần). Lớp trong C++ thực chất là một kiểu dữ liệu do người sử dụng định nghĩa. Trong C++, dùng từ khóa class để chỉ điểm bắt đầu của một lớp sẽ được cài đặt. 29/02/2016 Lập trình hướng đối tượng 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Lớp đối tượng Lớp là một mô tả trừu tượng của nhóm các đối tượng cùng bản chất, ngược lại mỗi một đối tượng là một thể hiện cụ thể cho những mô tả trừu tượng đó. 29/02/2016 Lập trình hướng đối tượng 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. Cú pháp khai báo lớp class { //Thành phần dữ liệu //Thành phần xử lý }; 29/02/2016 Lập trình hướng đối tượng 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Cú pháp khai báo lớp class { private: protected: public: }; 29/02/2016 Lập trình hướng đối tượng 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. Cú pháp khai báo lớp Header class Rectangle class class_name { { private: Access_Control_label: int width; int length; members; public: (data & code) void set(int w, int l); Access_Control_label : int area(); members; }; (data & code) }; 29/02/2016 Lập trình hướng đối tượng 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. Các thành phần của lớp Thuộc tính: Các thuộc tính được khai báo giống như khai báo biến trong C Phương thức: Các phương thức được khai báo giống như khai báo hàm trong C. Có hai cách định nghĩa thi hành của một phương thức Định nghĩa thi hành trong lớp Định nghĩa thi hành ngoài lớp 29/02/2016 Lập trình hướng đối tượng 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Cơ chế tạo lập các lớp Xác định các thuộc tính (dữ liệu)  Những gì mà ta biết về đối tượng – giống như một struct Xác định các phương thức (hành vi)  Những gì mà đối tượng có thể làm Xác định các quyền truy xuất 29/02/2016 Lập trình hướng đối tượng 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Định nghĩa hàm thành phần Cú pháp định nghĩa các hàm thành phần ở bên ngoài khai báo lớp: :: ()  { } Ví dụ: void point::display() {  //…….. } 29/02/2016 Lập trình hướng đối tượng 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Định nghĩa hàm thành phần class Rectangle{ private: int width, length; public: class name void set (int w, int l); member function name int area() { return width*length; } }; void Rectangle :: set (int w, int l) { inline width = w; length = l; scope operator } 29/02/2016 Lập trình hướng đối tượng 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Ví dụ lớp Time class Time { public:  void Set (int  hours , int  minutes , int  seconds); void Increment ( ); void Write ( )  const; Time (int initHrs, int initMins,  int initSecs ); //constructor Time ( );  //default constructor private: int hrs;        int mins; int secs; } ; 29/02/2016 Lập trình hướng đối tượng 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. Ví dụ lớp Time Time class Set Private data: Increment hrs Write mins Time secs Time 29/02/2016 Lập trình hướng đối tượng 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. Khai báo và tạo lập đối tượng Khai báo và tạo đối tượng: ; Gọi hàm thành phần của lớp . ();  (); 29/02/2016 Lập trình hướng đối tượng 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Khai báo và tạo lập đối tượng class Rectangle r1 is statically allocated { void main() private: { Rectangle r1; int width; r1.set(5, 8); int length; } public: void set(int w, int l); r1 width = 5 int area(); length = 8 }; 29/02/2016 Lập trình hướng đối tượng 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. Khai báo và tạo lập đối tượng r2 is a pointer to a Rectangle object class Rectangle { main() { private: Rectangle r1; int width; r1.set(5, 8); //dot notation int length; Rectangle *r2; r2 = &r1; public: r2->set(8,10); //arrow notation } void set(int w, int l); int area(); 5000 r2 r1 width = 8 5 6000 }; length = 10 8 5000 ??? 29/02/2016 Lập trình hướng đối tượng 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. Khai báo và tạo lập đối tượng r3 is dynamically allocated class Rectangle main() { { private: Rectangle *r3; r3 = new Rectangle(); int width; r3->set(80,100); //arrow notation int length; delete r3; public: r3 = NULL; void set(int w, int l); } int area(); r3 6000 }; NULL ??? 29/02/2016 Lập trình hướng đối tượng 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. Ví dụ Xây dựng lớp Điểm (Point) trong hình học 2D  Thuộc tính • Tung độ • Hoành độ  Thao tác (phương thức) • Khởi tạo • Di chuyển • In ra màn hình •… 29/02/2016 Lập trình hướng đối tượng 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. Ví dụ /*point.cpp*/ #include using namespace std; class point { /*khai báo các thành phần dữ liệu riêng*/ private: int x,y; /*khai báo các hàm thành phần công cộng*/ public: void init(int ox, int oy); void move(int dx, int dy); void display(); }; 29/02/2016 Lập trình hướng đối tượng 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. Ví dụ void point::init(int ox, int oy) { cout
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2