Lập trình hướng đối tượng và c++

336 0 0
Tài liệu ảnh, khi tải xuống sẽ không sao chép được nội dung tài liệu
Lập trình hướng đối tượng và c++

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHẠM VĂN ẤT (Chủ biên) - NGUYÊN HIẾU CƯỜNG EE LẬP TRÌNH HƯỚNG ĐỐI TƯỢN G VA o PHANpong Gal THÀNH PHĨ nể,cHÍ VINH _THƯ VIỆN Jt: 5417 NHA XUAT BAN GIAO THONG VAN TAI | HA NOI - 2016 LỜI NĨI ĐẦU Lập trình hướng đối tượng C°" môn học quan trọng sinh viên ngành Công nghệ thông tin số ngành học khác Lập trình hướng đối lượng phương pháp lập trình chủ đạo cơng nghiệp phân mềm tư tưởng hướng đối tượng duoc dp dung hau hét ngôn ngữ lap trinh hién dainhe C**, Visual C** , C#, Java Phương pháp lập trình phổ biển năm 70 va 80 cua thé kp trước 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 Thông qua ngôn ngữ nh Pascal C, äa sơ người làm Tìn học quen biết với phương pháp lập trình Tuy nhiên phương pháp lập trình dân bộc lộ nhiễu hạn chế Phương pháp lập trình hướng đối tượng khắc phục hạn chế lập trình câu trúc mở giai đoạn phái triển cơng nghiệp phân mễm 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 gom ca dit ligu va phương thức xử lý Vì lớp mơ tả thực thé cách chân thực, đu chặt chế hon Ngôn ngữ C đời năm 1973 với mục đích ban đấu để viết hệ điều hành Unix trén 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 wa "chuộng Đề đưa C vào thể giới hướng hướng đối tượng, nam 1980 B Stroustrup da cho doi mot ngon ngữ gọi C**, phái triển mạnh mẽ ngôn ngữ C Ngôn ngũ C”` ngơn ngữ lai, tức 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 ấi vào thể giới lập trình hướng đối tượng C** trở thành ngôn ngữ hướng đối tượng mạnh sử dụng rộng rãi từ năm 1990 Giáo trình 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 [ương ứng bội, khn hình khả xây dụng, sử dụng hàm như: doi tham chiếu, đối mặc định, hàm trùng tên, hàm toán tử Cuối chương có tập mức độ khác để độc giả tự rèn luyện thêm Các vần đề phúc tạp thưởng địi hỏi phải phán tích thiết kế tương đối đủ trước viết chương trình Tuy giáo trình khơng tập trung vào phân tích thiết kế, phụ lục giới thiệu văn tăi vê phương pháp phân tích, thiết kế hướng đối tượng Cuốn sách gơm chương phụ luc Chương Ì hướng dẫn cách làm việc với phan 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` ` LTHDT & C** e3 Chương trình bây khả việc xây dựng sử dụng hàm Cc nhu 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 toan tu Chương nói khái niệm trung tám lập trình hướng đối tượng Chương trình bày tiết định nghĩa chơng tố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 Chương trình bây mot 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 lập trình hướng đối tượng tính tương ứng bội phương thức ảo Chương nói việc t6 chite vao/ra C** Chương trình bây khn hình (templale) C** Phụ lụa trình bây phép toán C** va thi tự ưu tiên chúng Phụ Iud trinh bay vé bang ma ASCII va md quét cua ký tự Phụ lục tập hợp số cấu hỏi trắc nghiệm đáp án để bạn đọc tự kiểm tra lại kiến thức 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 doi tuong Cuối danh mục số thuật ngữ chuyên ngành sử dụng giáo trình vị trí tham chiếu để độc giả tiện tra cứu, số tài liệu tham khảo " Nội dung giáo trình PGS TS Phạm Văn Ất biên soạn dựa nên “C** & lập trình hướng đối tượng” tác giả, có số bố sung sửa chữa TS Nguyễn Hiếu Cường biên soạn chương 4, phụ lục 3, tập cudi chư ng hiệu chỉnh giáo trình Khi viết giáo trình chúng tơi cỗ gang dé gido trinh duoc hoan chinh, song khơng tránh khỏi thiếu sót, chúng tơi mong nhận su gop y cua độc Bra Các tác giả -4eLTHĐT &C* Ỉ Chương CÁC KHÁI NIỆM CƠ BẢN Chương trỉnh bầy vấn dé sau: - Cách sử dụng phan mém Turbo C** 3.0 - 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 § LAM VIEC VOI TURBO C* 3.0 Các ví dụ giáo trình viết thực môi trường Turbo C†* (TC”” phiên 3.0) Sau cài đặt (giả sử vào thư mục C:WTC) thư mục _ TC gơm có thư mục sau: | C:TCOBGI C:TCWIN chứa tệp đuôi BGI CHR chứa tệp chương TLINK, trình (đi EXE) TC, TCC, TLTIB, C:TTCWNCLUDE chứa tệp tiêu đề đuôi H C:\TC\LIB chứa tép dudi LIB, OBJ Để vào môi trường TC** chi can thuc hién tép chuong trinh thu muc C:\TC\BIN Sau vao méi truéng TC** chung ta thay chương trình hệ menu TC** (gan giéng hệ menu Turbo C) Hệ menu TC** gồm menu: File, Edit, Search, Debug, Project, Options, Window, Help TC.EXE ving soan thao quen thuộc Run, Compile, Cách soạn thảo, biên dịch chạy chương trình TC”? 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 cịn TC tệp chương trình có C Trong TC”* thực chương trình C C”” § NGON NGU C VA C** Cé thé noi C** 1a mở rộng đáng kê C Điều có nghĩa ngồi khả CỶ", khả khái niệm C dùng C”” Vi 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 thuận lợi nêu độc giả biết sử dụng tương đôi thành thạo ngơn ngữ C Giáo trình chủ u lập-' trung vào khái niệm lập trình hướng đỗi tượng ngơn ngữ C””, LTHDT & C**e khơng trình bảy lại chủ để ngôn ngữ C kiểu đữ liệu, cấu trúc điều khiển, Vi C”” mở rộng C, nên thân chương trình C chương trình C” 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 ta 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 qua sai chay chuong trinh Vi du biên dịch chương trình sau mơi trường C khơng gap dịng cảnh bão (waming) vàv thông báo lỗi (error) Nhưng chạy nhận được: kết sai #include void main() { float a,b,c,p,s; printf("\nNhap a, b, c "); scanf("%f%fWf',&a,&b,&c); p=(atbjc)/2; s= sqrt(p*(p-a)*(p-b)*(p-©)); printf InDien tịch = %0.2f",s); getch(): } Nếu biên dịch chương trình TC*” nhận thông báo lỗi sau: Error: F untion ‘sqrt’ should have a prototype Error: “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 trình với CPP + Thêm hai câu lệnh #include để khai báo nguyên mẫu cho hàm sqrt getch: #include #include § LẬP TRÌNH CÁU TRÚC VÀ 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ó hai kiểu chương trình thủ tục (procedure) hàm (function), Trong C có loại chương trình hàm 6s LTHĐT a ct Hàm đơn như: Nhập số liệu, biến, mảng cục thực thơng qua vị chương trình độc lập in kết hay thực dùng riêng cho hàm đối biến toàn dùng để thực phần việc số tính tốn Hàm cần có đối Việc trao đổi đữ liệu hàm Các ngôn ngữ C, PASCAL 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 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 nhât Trên tư tưởng lập trình cầu trúc tổ chức chương trình sau: + Sử dụng hai mảng thực toàn x y để chứa toạ độ dẫy điểm + Xây dựng hai 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: vo¡d nhapsl(int n); Hàm do_ dai dùng dé tính độ dài đoạn thăng qua điểm có số ¡ j , khai báo sau: float do_dai(int i, int j); Chương trình C cho tố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 1; for (i=13;i

Ngày đăng: 31/05/2023, 13:14

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan