(NB) Giáo trình Lập trình hướng đối tượng cung cấp cho người học các kiến thức: Phương pháp hướng đối tượng; Các thành phần của lớp; Lớp; Toán tử định nghĩa chồng; Thừa kế; Hảm ảo và tính tương ứng bội; Hàm, lớp template. Mời các bạn cùng tham khảo.
BỘ NƠNG NGHIỆP VÀ PHÁT TRIỂN NƠNG THƠN TRƯỜNG CAO ĐẲNG CƠ GIỚI NINH BÌNH GIÁO TRÌNH MƠN HỌC: MH 13_LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NGHỀ: LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ: Cao đẳng/ trung cấp Ban hành kèm theo Quyết định số: /QĐ…TCGNB ngày…….tháng….năm của Hiệu trưởng Trường Cao Đẳng Cơ giới Ninh Bình Ninh Bình, năm 2018 TUN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể được phép dùng ngun bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm MỤC LỤC LỜI GIỚI THIỆU Phương pháp lập trình hướng đối tượng trở nên phổ biến, ngày càng được quan tâm nghiên cứu nhiều. Vì lập trình hướng đối tượng dựa trên việc tổ chức chương trình thành các lớp. Khác với hàm và thủ tục, lớp là một đơn vị bao gồm cả dữ liệu và các phương thức xử lý vì vậy lớp có thể mơ tả các thực thể một cách chân thực, đầy đủ cả phần dữ liệu và u cầu quản lý. Tư tưởng lập trình hướng đối tượng được áp dụng cho hầu hết các ngơn ngữ mới chạy trên mơi trường Windows như Microsoft Access, C++, Visual Basic, Visual C++, Java, Vì vậy việc nghiên cứu phương pháp lập trình mới này là rất cần thiết đối với tất cả những người quan tâm tới lập trình C ra đời năm 1973 với mục đích ban đầu là để viết hệ điều hành Unix trên máy tính mini PDP. Sau đó C đã được sử dụng rộng rãi trên nhiều loại máy tính khác nhau và đã trở thành một ngơn ngữ lập trình cấu trúc rất được ưa chuộng Để đưa C vào thế giới hướng hướng đối tượng, năm 1980 nhà khoa học người Mỹ B. Stroustrup đã cho ra đời một ngơn ngữ C mới có tên ban đầu là “C có lớp”, sau đó đến năm 1983 thì gọi là C++. Ngơn ngữ C++ là một sự phát triển mạnh mẽ của C. Trong C++ chẳng những đưa vào tất cả các khái niệm, cơng cụ của lập trình hướng đối tượng mà cịn đưa vào nhiều khả năng mới mẻ cho hàm. Như vậy C++ là một ngôn ngữ lai cho phép tổ chức chương trình theo các lớp và các hàm. Có thể nói C++ đã thúc đẩy ngơn ngữ C vốn đã rất thuyết phục đi vào thế giới lập trình hướng đối tượng và C++ đã trở thành ngơn ngữ hướng đối tượng nổi bật trong những năm 90 Bài giảng này sẽ trình bầy một cách hệ thống các khái niệm của lập trình hướng đối tượng được cài đặt trong C++ như lớp, đối tượng, sự thừa kế, tính tương ứng bội và các khả năng mới trong 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 toán tử. Các chương từ 1 đến 7 với cách giải thích tỉ mỉ và với nhiều chương trình minh hoạ sẽ cung cấp cho người học các khái niệm, phương pháp và kinh nghiệm lập trình hướng đối tượng trên C++ Bài giảng gồm 7 chương và 2 phụ lục Chương 1: Phương pháp hướng đối tượng Chương 2: Các thành phần của lớp Chương 3: Lớp Chương 4: Tốn tử định nghĩa chồng Chương 5: Thừa kế. Chương 6: H ả m ả o v à tí nh t ươ ng ứ ng b ộ i. Chương 7:Hàm, l p template Phụ lục 1 trình bầy các phép tốn trong C++ và thứ tự ưu của chúng Phụ lục 2 trình bầy một vấn đề quan trọng nhưng cịn ít được nói đến trong các tài liệu, đó là cách sử dụng con trỏ void để xây dựng các hàm với số đối khơng cố định giống như các hàm printf và scanf của C Khi viết chúng tơi đã hết sức cố gắng để cuốn sách được hồn chỉnh, song chắc chắn khơng tránh khỏi thiếu sót, vì vậy rất mong nhận được sự góp ý của các bạn Xin chân thành cám ơn! Ninh Bình, ngày tháng năm 2018 Tham gia biên soạn 1. Chủ biên Đồn Xn Luận 2. Phạm Thị Thoa 3. Nguyễn Anh Văn GIÁO TRÌNH MƠN HỌC Tên Mơn học: Lập trình hướng đối tượng Mã mơn học: MH13 Vị trí, tính chất của mơ đun: Vị trí: Mơn học được bố trí sau khi học xong các mơn học chung Tính chất: Mơn học này là mơn học cơ sở Ý nghĩa, vai trị của mơn học: Đây là mơn học cơ sở ngành của các ngành liên quan đến cơng nghệ thơng tin, cung cấp cho sinh viên các kiến thức cơ bản về lập trình Mục tiêu của mơn học: Về kiến thức: + Trình bày được các đặc trưng cơ bản: tính đóng gói, tính kế thừa, tính tương ứng bội của phương pháp lập trình hướng đối tượng; + Tiếp cận được phương pháp lập trình hướng đối tượng Về kỹ năng: + Phân tích, cài đặt và xây dựng được chương trình theo phương pháp hướng đối tượng trên một ngơn ngữ lập trình cụ thể; + Viết chương trình và thực hiện chương trình trong máy tính Về năng lực tự chủ và trách nhiệm: + Bố trí làm việc khoa học đảm bảo an tồn cho người và phương tiện học tập Nội dung của mơn học: Chương 1: Phương pháp hướng đối tượng Chương 2: Các thành phần của lớp Chương 3: Lớp Chương 4: Tốn tử định nghĩa chồng Chương 5: Thừa kế. Chương 6: H ả m ả o v à tí nh t ươ ng ứ ng b ộ i. Chương 7:Hàm, l p template CHƯƠNG 1 PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG Mã chương: MH13_CH01 Giới thiệu: Phương pháp hướng đối tượng hiện đang được sử dụng rộng rãi trên thế giới do có những đặt điểm quan trọng giúp người lập trình có thể giảm thiểu đáng kể thời gian lập trình, một số cơng nghệ hiện đại hiện nay như C++ Builder, Visual Studio .NET, cho phép người lập trình kế thừa một kho tàng đối tượng phong phú để có thể xây dựng giao diện ứng dụng đồ họa một cách nhanh chóng. Những đặt tính cơ bản của phương pháp này sẽ được trình bày trong mơn học này Mục tiêu: - Trình bày được các phương pháp của lập trình hướng đối tượng, các đặt điểm nỗi bật của phương pháp lập trình hướng đối tượng - Trình bày được các thành phần của một lớp đối tượng - Thực hiện các thao tác an tồn với máy tính Nội dung: Chương 1: PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG 1.1 Các phương pháp lập trình 1.1.1 Lập trình cấu trúc Tư tưởng chính của lập trình cấu trúc là tổ chức chương trình thành các chương trình con. Mỗi chương trình con đảm nhận xử lý một cơng việc nhỏ trong tồn bộ hệ thống. Mỗi chương trình con này lại có thể chia nhỏ thành các chương trình con nhỏ hơn. Quá trình phân chia như vậy tiếp tục diễn ra cho đến các chương trình con nhỏ nhận được đủ đơn giản, đó là q trình làm mịn dần. Các chương trình con tương đối độc lập với nhau. Ngơn ngữ lập trình thể hiện rõ nét nhất phương pháp lập trình cấu trúc là ngơn ngữ lập trình Pascal. Trong ngơn ngữ lập trình C chỉ có một loại chương trình con là hàm Hàm là một đơn vị chương trình độc lập dùng để thực hiện một phần việc nào đó như: nhập số liệu, in kết quả hay thực hiện một số tính tốn. Hàm cần có đối và các biến, mảng cục bộ dùng riêng cho hàm Việc trao đổi dữ liệu giữa các hàm thực hiện thơng qua các đối và các biến tồn bộ Các ngơn ngữ như C, PASCAL, FOXPRO là các 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ác cấu trúc dữ liệu (như biến, mảng, bản ghi) và các hàm, thủ tục Nhiệm vụ chính của việc tổ chức thiết kế chương trình hướng cấu trúc là tổ chức chương trình thành các hàm, thủ tục: Chương trình sẽ bao gồm các hàm, thủ tục Ví dụ : Xét u cầu sau: Viết chương trình nhập toạ độ (x,y) của một dãy điểm, sau đó tìm một cặp điểm cách xa nhau nhất Trên tư tưởng của lập trình hướng cấu trúc có thể tổ chức chương trình như sau: + Sử dụng 2 mảng thực tồn bộ x và y để chứa toạ độ dãy điểm + Xây dựng 2 hàm: Hàm nhapsl dùng để nhập toạ độ n điểm, hàm này có một đối là biến ngun n và được khai báo như sau: void nhapsl(int n); Hàm do_dai dùng để tính độ dài đoạn thẳng đi qua 2 điểm có chỉ số là i và j, nó được khai báo như sau: float do_dai(int i, int j); Chương trình C cho bài tốn trên được viết như 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