Xem mẫu

  1. LTHĐT Khoa CNTT Chƣơng 3 LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG VỚI C++ GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 1 ThS. Nguyễn Tấn Trần Minh Khang
  2. LTHĐT Khoa CNTT 0. ĐẶT VẤN ĐỀ Viết chương trình nhập họ  tên, điểm toán, điểm văn của một học sinh. Tính điểm trung bình và xuất kết quả. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 2 ThS. Nguyễn Tấn Trần Minh Khang
  3. LTHĐT Khoa CNTT 1. LỚP ĐỐI TƢỢNG (class) Khái niệm: Lớp đối tượng  tượng hiểu một cách đơn giản nhất là sự tích hợp của hai thành phần: Thành phần dữ liệu và Thành phần xử lý. Cú pháp khai báo lớp  class CTenLop 1. { 2. // Thành phần dữ liệu. 3. // Thành phần xử lý 4. }; 5. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 3 ThS. Nguyễn Tấn Trần Minh Khang
  4. LTHĐT Khoa CNTT 1. LỚP ĐỐI TƢỢNG (class) Ví dụ: Hãy khai báo lớp cho bài toán  được nêu ra trong phần đặt vấn đề. 11. struct HocSinh 12. { char hoten[31]; 13. int toan; 14. Thành phần int van; 15. dữ liệu float dtb; 16. 17. }; 18. typedef struct hocsinh HOCSINH; 19. void Nhap(HOCSINH&); 20. void Xuat(HOCSINH); 21. void XuLy(HOCSINH &); Thành phần Chương lý - 4 xử 03 GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang
  5. LTHĐT Khoa CNTT 1. LỚP ĐỐI TƢỢNG (class) 11. class CHocSinh 12. { private: 13. char hoten[31]; 14. int toan; 15. int van; 16. float dtb; 17. public: 18. void Nhap(); 19. void Xuat(); 20. void XuLy(); 21. 22. }; GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 5 ThS. Nguyễn Tấn Trần Minh Khang
  6. LTHĐT Khoa CNTT 2. ĐỐI TƢỢNG (object) Khái niệm: Đối tƣợng là  một sự thể hiện của một lớp. Trong một lớp có thể có nhiều sự thể hiện khác nhau. Nói một cách khác: có thể có nhiều đối tƣợng cùng thuộc về một lớp. Cú pháp khai báo đối tượng.  CTenLop ; 1. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 6 ThS. Nguyễn Tấn Trần Minh Khang
  7. LTHĐT Khoa CNTT 2. ĐỐI TƢỢNG (object) Ví dụ 1: CHocSinh x;  Trong ví dụ trên ta nói x là một đối tượng thuộc về lớp đối tượng CHocSinh. Ví dụ 2: CHocSinh a,b;  CHocSinh y; Trong ví dụ trên ta nói a,b,y là ba đối tượng thuộc về lớp đối tượng CHocSinh. Nói một cách khác: Lớp đối tượng CHocSinh có ba sự thể hiện khác nhau. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 7 ThS. Nguyễn Tấn Trần Minh Khang
  8. LTHĐT Khoa CNTT 3. PHƢƠNG THỨC (method) Khái niệm: Phương thức là khả  năng mà đối tượng thuộc về lớp có thể thực hiện. Cú pháp định nghĩa phương  thức: KDL CTenLop::PhuongThuc 1. () { 2. // Thân Phương Thúc 3. } 4. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 8 ThS. Nguyễn Tấn Trần Minh Khang
  9. LTHĐT Khoa CNTT 3. PHƢƠNG THỨC (method) Ví dụ 1: Định nghĩa phương thức  nhập của lớp CHocSinh. void CHocSinh::Nhap() 1. { 2. printf(“Nhap ho ten:”); 3. gets(hoten); 4. printf(“Nhap toan:”); 5. scanf(“%d”, &toan); 6. printf(“Nhap van:”); 7. scanf(“%d”, &van); 8. } 9. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 9 ThS. Nguyễn Tấn Trần Minh Khang
  10. LTHĐT Khoa CNTT 3. PHƢƠNG THỨC (method) Ví dụ 2: Định nghĩa phương thức  XuLy của lớp CHocSinh. void CHocSinh::XuLy() 1. { 2. dtb=(float)(toan+van)/2; 3. } 4. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 10 ThS. Nguyễn Tấn Trần Minh Khang
  11. LTHĐT Khoa CNTT 3. PHƢƠNG THỨC (method) Ví dụ 3: Định nghĩa phương thức  Xuat của lớp CHocSinh. void CHocSinh::Xuat() 1. { 2. printf(“\nHo ten:%s”, 3. hoten); printf(“\nToan: %d”,toan); 4. printf(“\nVan: %d”,van); 5. printf(“\nDTB: %f”,dtb); 6. } 7. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 11 ThS. Nguyễn Tấn Trần Minh Khang
  12. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Khái niệm: Đối tượng hành  động là đối tượng gọi thực hiện phương thức mà lớp đối tượng nó thuộc về cung cấp.  Cú pháp …TenDoiTuong.PhuongThuc()… 1. Ví dụ 1:  CHocSinh hs; 1. hs.Nhap(); 2. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 12 ThS. Nguyễn Tấn Trần Minh Khang
  13. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Ví dụ 1:  CHocSinh hs; 1. hs.Nhap(); 2. Trong câu lệnh thứ hai của  đoạn chương trình trên ta nói: đối tƣợng hs gọi thực hiện phƣơng thức Nhập. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 13 ThS. Nguyễn Tấn Trần Minh Khang
  14. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Ví dụ 2:  CHocSinh a,b,c; 1. a.Nhap(); 2. b.Nhap(); 3. c.Nhap(); 4. Trong câu lệnh thứ hai của  đoạn chương trình trên ta nói: đối tƣợng a gọi thực hiện phƣơng thức Nhập. …v..v..  GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 14 ThS. Nguyễn Tấn Trần Minh Khang
  15. LTHĐT Khoa CNTT 1. CHocSinh a,b,c; 2. a.Nhap(); a 3. b.Nhap(); hoten 4. c.Nhap(); toan van dtb void Nhap() void Xuat() void XuLy() c hoten hoten toan toan van van dtb b dtb GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 15 ThS. Nguyễn Tấn Trần Minh Khang
  16. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Ví dụ 1: Định nghĩa phương thức  nhập của lớp CHocSinh. void CHocSinh::Nhap() 1. { 2. printf(“Nhap ho ten:”); 3. gets(hoten); 4. printf(“Nhap toan:”); 5. scanf(“%d”, &toan); 6. printf(“Nhap van:”); 7. scanf(“%d”, &van); 8. } 9. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 16 ThS. Nguyễn Tấn Trần Minh Khang
  17. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Ví dụ 2: Định nghĩa phương thức  XuLy của lớp CHocSinh. void CHocSinh::XuLy() 1. { 2. dtb=(float)(toan+van)/2; 3. } 4. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 17 ThS. Nguyễn Tấn Trần Minh Khang
  18. LTHĐT Khoa CNTT 4. ĐỐI TƢỢNG HÀNH ĐỘNG Ví dụ 3: Định nghĩa phương thức  Xuat của lớp CHocSinh. void CHocSinh::Xuat() 1. { 2. printf(“\nHo ten:%s”, 3. hoten); printf(“\nToan: %d”,toan); 4. printf(“\nVan: %d”,van); 5. printf(“\nDTB: %f”,dtb); 6. } 7. GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 18 ThS. Nguyễn Tấn Trần Minh Khang
  19. LTHĐT Khoa CNTT 5. CHƢƠNG TRÌNH ĐẦU TIÊN Viết  Bài toán: chƣơng trình nhập họ tên, điểm toán, điểm văn của một học sinh. Tính điểm xuất trung bình và kết quả. Chƣơng trình  GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 19 ThS. Nguyễn Tấn Trần Minh Khang
  20. LTHĐT Khoa CNTT 5. CHƢƠNG TRÌNH ĐẦU TIÊN 11. #include 12. #include 13. class CHocSinh 14. { private: 15. char hoten[31]; 16. int toan; 17. int van; 18. float dtb; 19. public: 20. void Nhap(); 21. void Xuat(); 22. void XuLy(); 23. 24. }; GV. Nguyễn Sơn Hoàng Quốc Chương 03 - 20 ThS. Nguyễn Tấn Trần Minh Khang
nguon tai.lieu . vn