Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 396 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
396
Dung lượng
2,56 MB
Nội dung
Lập p Trình Hướng Đối Tượng Với C+ng Đối Tượng Với C+i Tượng Với C+ng Vớng Đối Tượng Với C+i C+ + Lời nói đầu Lập trình cấu trúc phương pháp tổ chức, phân chia chương trình thành hàm, thủ tục, chúng dùng để xử lý liệu lại tách rời cấu trúc liệu Thông qua ngôn ngữ Foxpro, Pascal, C đa số người làm Tin học quen biết với phương pháp lập trình Lập trình hướng đối tượng dựa việc tổ chức chương trình thành lớp Khác với hàm thủ tục, lớp đơn vị bao gồm liệu phương thức xử lý Vì lớp mơ tả thực thể cách chân thực, đầy đủ phần liệu yêu cầu quản lý Tư tưởng lập trình hướng đối tượng áp dụng cho hầu hết ngôn ngữ chạy môi trường Windows Microsoft Access, Visual Basic, Visual C Vì việc nghiên cứu phương pháp lập trình cần thiết tất người quan tâm, yêu thích Tin học C đời năm 1973 với mục đích ban đầu để viết hệ điều hành Unix máy tính mini PDP Sau C sử dụng rộng rãi nhiều loại máy tính khác trở thành ngơn ngữ lập trình cấu trúc ưa chuộng Để đưa C vào giới hướng hướng đối tượng, năm 1980 nhà khoa học người Mỹ B Stroustrup cho đời ngơn ngữ C có tên ban đầu “C có lớp”, sau đến năm 1983 gọi C++ Ngôn ngữ C++ phát triển mạnh mẽ C Trong C++ đưa vào tất khái niệm, cơng cụ lập trình hướng đối tượng mà đưa vào nhiều khả mẻ cho hàm Như C++ ngôn ngữ lai cho phép tổ chức chương trình theo lớp hàm Có thể nói C++ thúc đẩy ngôn ngữ C vốn thuyết phục vào giới lập trình hướng đối tượng C++ trở thành ngôn ngữ hướng đối tượng bật năm 90 Cuốn sách trình bầy cách hệ thống khái niệm lập trình hướng đối tượng cài đặt C++ lớp, đối tượng, thừa kế, tính tương ứng bội khả xây dựng, sử dụng hàm như: đối tham chiếu, đối mặc định, hàm trùng tên, hàm tốn tử Có số vấn đề cịn biết đến cách xây dựng hàm với số đối bất định C giới thiệu Các chương từ đến 10 với cách giải thích tỉ mỉ với gần 100 chương trình minh hoạ cung cấp cho bạn đọc khái niệm, phương pháp kinh nghiệm lập trình hướng đối tượng C++ Mục lục cuối sách hệ thống ngắn gọn phương pháp phân tích, thiết kế lập trình hướng đối tượng bình diện chung Cuốn sách gồm 10 chương phụ lục Chương hướng dẫn cách làm việc với phần mềm TC++ 3.0 để thử nghiệm chương trình, trình bầy sơ lược phương pháp lập trình giới thiệu số mở rộng đơn giản C++ Chương trình bầy khả việc xây dựng sử dụng hàm C++ biến tham chiếu, đối có kiểu tham chiếu, đối có giá trị mặc định, hàm trực tuyến, hàm trùng tên, hàm tốn tử Chương nói khái niệm trung tâm lập trình hướng đối tượng lớp gồm: Định nghĩa lớp, khai báo biến, mảng đối tượng (kiểu lớp), phương thức, dùng trỏ this phương thức, phạm vi truy xuất thành phần, phương thức toán tử Chương trình bầy vấn đề tạo dựng, chép, huỷ bỏ đối tượng vấn đề khác có liên quan như: Hàm tạo, hàm tạo chép, hàm huỷ, toán tử gán, cấp phát nhớ cho đối tượng, hàm bạn, lớp bạn Chương trình bầy khái niệm quan trọng tạo nên khả mạnh lập trình hướng đối tượng việc phát triển, mở rộng phần mềm, khả thừa kế lớp Chương trình bầy khái niệm quan trọng khác cho phép xử lý vấn đề khác nhau, thực thể khác nhau, thuật toán khác theo lược đồ thống nhất, tính tương ứng bội phương thức ảo Các cơng cụ cho phép dễ dàng tổ chức chương trình quản lý nhiều dạng đối tượng khác GS: Phạm Văn m Văn Ấtt cloud Lập p Trình Hướng Đối Tượng Với C+ng Đối Tượng Với C+i Tượng Với C+ng Vớng Đối Tượng Với C+i C+ + Chương nói việc tổ chức vào - C++ C++ đưa vào khái niệm gọi dòng tin (Stream) Các thao tác vào - thực trao đổi liệu nhớ với dòng tin: Vào chuyển liệu từ dòng nhập vào nhớ, chuyển liệu từ nhớ lên dòng xuất Để nhập xuất liệu thiết bị cụ thể nào, ta cần gắn dịng nhập xuất với thiết bị Việc tổ chức vào theo cách khoa học tiện lợi có tính độc lập thiết bị Chương trình bầy hàm đồ hoạ sử dụng C C++ Các hàm sử dụng rải rác toàn sách để xây dựng đối tượng đồ hoạ Chương trình bầy hàm truy xuất trực tiếp vào nhớ máy tính, có nhớ hình Các hàm sử dụng chương 10 để xây dựng lớp menu cửa sổ Chương 10 giới thiệu chương trình tương đối hồn chỉnh nhằm minh hoạ thêm khả kỹ thuật lập trình hướng đối tượng C++ Phụ lục trình bầy phép toán C++ thứ tự ưu chúng Phụ lục liệt kê danh sách từ khố C++ Phụ lục trình bầy bảng mã ASCII mã quét ký tự Phụ lục trình bầy vấn đề quan trọng cịn nói đến tài liệu, cách sử dụng trỏ void để xây dựng hàm với số đối không cố định giống hàm printf scanf C Vì C++ sử dụng hàm C, nên phụ lục giới thiệu tóm tắt 200 hàm để bạn đọc tiện việc tra cứu Cuối cùng, phụ lục trình bầy cách ngắn gọn phương pháp phân tích, thiết kế lập trình hướng đối tượng bình diện chung Khi viết chúng tơi cố gắng để sách hoàn chỉnh, song chắn khơng tránh khỏi thiếu sót, mong nhận góp ý độc giả Nhân dịp xin chân thành cám ơn cử nhân Nguyễn Văn Phác tận tình giúp đỡ việc hiệu đính biên tập sách Tác giả GS: Phạm Văn m Văn Ấtt cloud Lập p Trình Hướng Đối Tượng Với C+ng Đối Tượng Với C+i Tượng Với C+ng Vớng Đối Tượng Với C+i C+ + Chương C++ lập trình hướng đối tượng Trong chương trình bầy vấn đề sau: - Cách sử dụng phần mềm TC++ 3.0 - Những sửa đổi cần thiết chương trình C để biến thành chương trình C++ (chạy mơi trường C++) - Tóm lược phương pháp lập trình cấu trúc lập trình hướng đối tượng - Những mở rộng C++ so với C Bài Làm việc với TC++ 3.0 Các ví dụ sách viết thực môi trường TC++ 3.0 Bộ cài đặt TC++ 3.0 gồm đĩa Sau cài đặt (giả sử vào thư mục C:\TC) thư mục TC gồm thư mục sau: C:\TC\BGI chứa tệp đuôi BGI CHR C:\TC\BIN chứa tệp chương trình (đi EXE) TC, TCC, TLIB, TLINK C:\TC\INCLUDE chứa tệp tiêu đề đuôi H C:\TC\LIB chứa tệp đuôi LIB, OBJ Để vào môi trường TC++ cần thực tệp chương trình TC thư mục C:\TC\BIN Kết nhận hệ menu TC++ với mầu xanh gần giống hệ menu quen thuộc TC (Turbo C) Hệ menu TC++ gồm menu: File, Edit, Search, Run, Compile, Debug, Project, Options, Window, Help Cách soạn thảo, biên dịch chạy chương trình TC++ cũngg giống TC, ngoại trừ điểm sau: Tệp chương trình hệ soạn thảo TC++ có mặc định CPP TC tệp chương trình ln có C Trong TC++ thực chương trình C C++ Để thực chương trình C cần dựng C để đặt tên cho tệp chương trình, để thực chương trình C++ cần dựng CPP để đặt tên cho tệp chương trình Bài C C++ - Có thể nói C++ mở rộng (đáng kể) C Điều có nghĩa khả năng, khái niệm C dùng C++ - Vì C++ sử dụng gần toàn khái niệm, định nghĩa, kiểu liệu, cấu trúc lệnh, hàm công cụ khác C, nên yêu cầu bắt buộc đọc giả C++ phải biết sử dụng tương đối thành thạo ngôn ngữ C - Vì C++ mở rộng C, nên thân chương trình C chương trình C++ (chỉ cần thay C CPP) Tuy nhiên Trình biên dịch TC++ yêu cầu hàm chuẩn dùng chương trình phải khai báo nguyên mẫu câu lệnh #include, điều khơng bắt buộc Trình biên dịch TC Trong C dùng hàm chuẩn mà bỏ qua câu lệnh #include để khai báo nguyên mẫu hàm dùng Điều không báo lỗi biên dịch, dẫn đến kết sai chạy chương trình Ví dụ biên dịch chương trình sau mơi trường C khơng gặp dịng cảnh báo (Warning) thông báo lỗi (error) Nhưng chạy nhận kết sai #include void main() GS: Phạm Văn m Văn Ấtt cloud Lập p Trình Hướng Đối Tượng Với C+ng Đối Tượng Với C+i Tượng Với C+ng Vớng Đối Tượng Với C+i C+ + { float a,b,c,p,s; printf("\nNhap a, b, c "); scanf("%f%f %f",&a,&b,&c); p=(a+b+c)/ 2; s= sqrt(p*(p-a)*(p-b)*(p-c)); printf("\nDien tich = %0.2f",s); getch(); } Nếu biên dịch chương trình TC++ nhận thông báo lỗi sau: Eror: Funtion ‘sqrt’ should have a prototype Eror: Funtion ‘getch’ should have a prototype Để biến chương trình thành chương trình C++ cần: + Đặt tên chương chường với đuôi CPP + Thêm câu lệnh #include để khai báo nguyên mẫu cho hàm sqrt, getch: #include #include Bài Lập trình cấu trúc lập trình hướng đối tượng 3.1 Phương pháp lập trình cấu trúc - Tư tưởng lập trình cấu trúc tổ chức chương trình thành chương trình Trong PASCAL có kiểu chương trình thủ tục hàm Trong C có loại chương trình hàm Hàm đơn vị chương trình độc lập dùng để thực phần việc như: Nhập số liệu, in kết hay thực số tính tốn Hàm cần có đối biến, mảng cục dùng riêng cho hàm Việc trao đổi liệu hàm thực thông qua đối biến tồn Các ngơn ngữ C, PASCAL, FOXPRO ngôn ngữ cho phép triển khai phương pháp lập trình cấu trúc Một chương trình cấu trúc gồm cấu trúc liệu (như biến, mảng, ghi) hàm, thủ tục Nhiệm vụ việc tổ chức thiết kế chương trình cấu trúc tổ chức chương trình thành hàm, thủ tục: Chương trình bao gồm hàm, thủ tục Ví dụ xét yêu cầu sau: Viết chương trình nhập toạ độ (x,y) dẫy điểm, sau tìm cặp điểm cách xa Trên tư tưởng lập trình cấu trúc tổ chức chương trình sau: + Sử dụng mảng thực toàn x y để chứa toạ độ dẫy điẻm + Xây dựng hàm: Hàm nhapsl dùng để nhập toạ độ n điểm, hàm có đối biến nguyên n khai báo sau: void nhapsl(int n); GS: Phạm Văn m Văn Ấtt cloud Lập p Trình Hướng Đối Tượng Với C+ng Đối Tượng Với C+i Tượng Với C+ng Vớng Đối Tượng Với C+i C+ + Hàm do_dai dùng để tính độ dài đoạn thẳng qua điểm có số i j , khai báo sau: float do_dai(int i, int j); Chương trình C cho toán viết sau: #include #include #include float x[100],y[100]; float do_dai(int i, int j) { return sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2)); } void nhapsl(int n) { int i; for (i=1;i