Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 9) – Nguyễn Hải Châu
lượt xem 7
download
Bài giảng tuần 9 này trình bày một số kiến thức về các phương pháp luận lập trình như lập trình cấu trúc và lập trình hướng đối tượng, trình này cơ sở lập trình hướng đối tượng trong C++. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 9) – Nguyễn Hải Châu
- Nội dung z Các phương pháp luận lập trình NGÔN NGỮ LẬP TRÌNH {Lập trình cấu trúc C/C++ {Lập trình hướng đối tượng z Cơ sở lập trình hướng đối tượng trong Nguyễn Hải Châu C++ Khoa Công nghệ thông tin {Đối tượng Trường Đại học Công nghệ {Lớp (Bài giảng tuần 9) 1 2 Lập trình cấu trúc Lập trình cấu trúc (tiếp) z Lập trình cấu trúc: tổ chức chương trình z Một chương trình “cấu trúc” gồm các cấu thành các chương trình con (hàm hoặc thủ trúc dữ liệu (như biến, mảng, bản ghi) và tục) các hàm, thủ tục. z Hàm là một đơn vị chương trình độc lập z Nhiệm vụ chính của việc thiết kế chương dùng để thực hiện một công việc nào đó trình cấu trúc là tổ chức chương trình z Trao đổi dữ liệu giữa các hàm thực hiện thành các hàm, thủ tục. thông qua các đối và các biến toàn cục 3 4 Lập trình hướng đối tượng Lập trình hướng đối tượng (tiếp) z Lập trình hướng đối tượng có thể được z Lập trình hướng đối tượng được xây dựng xem là lập trình có cấu trúc kết hợp trừu dựa trên đặc trưng chính là khái niệm tượng hóa dữ liệu đóng gói z Việc thiết kế chương trình chú trọng vào z Đóng gói là khái niệm trung tâm của lập trình hướng đối tượng: dữ liệu và các thao dữ liệu tác xử lý được qui định trước và "đóng" z Dữ liệu và các thao tác trên dữ liệu được thành một "gói" thống nhất, riêng biệt với gắn kết chặt chẽ với nhau (khác với lập các dữ liệu khác tạo thành kiểu dữ liệu với trình cấu trúc) tên gọi là các lớp (class) 5 6 1
- Lớp và đối tượng Khai báo lớp z Lớp (class) là khái niệm quan trọng nhất class tên_lớp của lập trình hướng đối tượng { z Một lớp đơn bao gồm các hàm và dữ liệu // Khai báo các thành phần dữ liệu (thuộc tính) có liên quan // Khai báo các phương thức (hàm) z Các hàm: hàm thành phần/phương thức }; (member function/method) z Các hàm qui định các thao tác được phép thực hiện trên dữ liệu của lớp 7 8 Khai báo lớp (tiếp) Ví dụ về khai báo lớp z Thuộc tính của lớp có thể là các biến, class daydiem { mảng, con trỏ có kiểu chuẩn (int, float, int n; char, char*, long,...) hoặc kiểu ngoài float *x,*y; chuẩn đã định nghĩa trước (cấu trúc, hợp, public: lớp,...). float do_dai(int i, int j) z Thuộc tính của lớp không thể có kiểu của { chính lớp đó, nhưng có thể là con trỏ của return sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2)); } lớp này void nhapsl(void); }; 9 10 Ví dụ về khai báo lớp (tiếp) Khai báo lớp có thành phần tự trỏ void daydiem::nhapsl(void) class A { int i; { printf(''\n So diem N= ''); scanf("%d'',&n); A x; //Không cho phép, vì x có kiểu lớp A x = (float*)malloc((n+1)*sizeof(float)); A* p ; //Cho phép , vì p là con trỏ kiểu lớp A y = (float*)malloc((n+1)*sizeof(float)); for (i=1; i
- Khai báo các thành phần của lớp Khai báo thành phần dữ liệu z Được khai báo như khai báo các thành z Các từ khóa private và public: phần trong kiểu cấu trúc hay hợp {Các thành phần khai báo private chỉ có thể được truy cập từ bên trong lớp z Các thành phần này thường được khai báo là private để bảo đảm an toàn dữ liệu {Các thành phần khai báo public có thể được truy cập từ trong hoặc ngoài của lớp, không cho phép các hàm bên ngoài xâm nhập vào các dữ liệu này. z Sử dụng private có tác dụng che giấu thông tin của mỗi lớp 13 14 Khai báo hàm (phương thức) Ví dụ: Khai báo lớp z Thường khai báo là public để chúng có thể class DIEM được gọi tới từ các bên ngoài lớp { z Các phương thức có thể được khai báo và private: định nghĩa bên trong lớp hoặc chỉ khai báo int x, y, m ; bên trong còn định nghĩa cụ thể của phương public: thức có thể được viết bên ngoài void nhapsl() ; z Thông thường, các phương thức ngắn được void hien() ; định nghĩa bên trong lớp, các phương thức dài viết bên ngoài lớp void an() { putpixel(x, y, getbkcolor());} }; 15 16 Định nghĩa phương thức nhapsl() Định nghĩa phương thức hien() void DIEM::nhapsl() void DIEM::hien() { cout
- Biến, mảng, con trỏ đối tượng Truy cập thuộc tính, phương thức z Một lớp sau khi định nghĩa có thể xem z Truy cập thuộc tính: như một kiểu đối tượng và có thể dùng để {tên_lớp.tên_thuộc_tính khai báo các biến, mảng đối tượng {tên_con_trỏ_lớp->tên_thuộc_tính z Cách khai báo giống khai báo biến thông z Truy cập thuộc tính: thường: {tên_lớp.tên_phương_thức[danh_sách_đối] Tên_lớp danh sách biến, mảng, con trỏ; {tên_con_trỏ_lớp.tên_phương_thức[danh_sách_đối] z Ví dụ: {DIEM d1, d2, d3 ; {DIEM d[20] ; 19 20 Bài tập z Thiết kế lớp vector: {Thể hiện cấu trúc dữ liệu của vector 3 chiều {Viết các phương thức thực hiện các phép toán trên vector: Cộng, trừ hai vector, nhân vector với một số, chuẩn hóa vector, tích vô hướng của hai vector 3 chiều 21 4
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 350 | 104
-
Bài giảng Ngôn ngữ lập trình C++: Chương 1 - Trần Minh Châu
17 p | 250 | 54
-
Bài giảng Ngôn ngữ lập trình C# - Nguyễn Hồng Phương
409 p | 214 | 41
-
Bài giảng Ngôn ngữ lập trình ứng dụng: Phần 1 – ĐH CNTT&TT
45 p | 112 | 13
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p | 157 | 13
-
Bài giảng Ngôn ngữ lập trình bậc cao - Th.S Đoàn Thị Thu Huyền
44 p | 150 | 10
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - TS. Nguyễn Thị Hiền
12 p | 62 | 9
-
Bài giảng Ngôn ngữ lập trình - Nguyễn Văn Linh
109 p | 118 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 1: Giới thiệu ngôn ngữ C
4 p | 104 | 8
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 112 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 5: Các lớp nhập/xuất trong C++
19 p | 132 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ C++) - Chương 2: Giới thiệu về ngôn ngữ lập trình C++
49 p | 137 | 7
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - PhD. Nguyễn Thị Huyền
12 p | 55 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 3: Lớp và đối tượng
52 p | 112 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 4 - TS. Đỗ Đăng Khoa
40 p | 95 | 5
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 142 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
27 p | 85 | 4
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 82 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn