Bài giảng Ngôn ngữ lập trình C++: Phần 2 - TS. Nguyễn Duy Phương
Số trang: 159
Loại file: pdf
Dung lượng: 2.67 MB
Lượt xem: 10
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tiếp nội dung phần 1, Bài giảng Ngôn ngữ lập trình C++: Phần 2 cung cấp cho người học những kiến thức như: Tính kế thừa và đa hình; Một số lớp quan trọng; Thư viện STL và áp dụng. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C++: Phần 2 - TS. Nguyễn Duy PhươngHỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 1 ----------------- ---------------- BÀI GIẢNGNGÔN NGỮ LẬP TRÌNH C++ Hiệu chỉnh : TS. NGUYỄN DUY PHƯƠNG THS. NGUYỄN MẠNH SƠN HÀ NỘI, 12/2020 CHƯƠNG 6 TÍNH KẾ THỪA VÀ TÍNH ĐA HÌNHNội dung chương này tập trung trình bày các vấn đề liên quan đến tính kế thừa và tương ứng bội(đa hình) trong ngôn ngữ C++: Khái niệm kế thừa, dẫn xuất và các kiểu dẫn xuất Khai báo, định nghĩa các hàm khởi tạo và hàm hủy bỏ trong lớp dẫn xuất Truy nhập tới các thành phần của lớp cơ sở và các lớp dẫn xuất Việc một lớp được kế thừa từ nhiều lớp cơ sở khác nhau Khai báo và sử dụng các lớp cơ sở trừu tượng trong kế thừa Tính đa hình trong C++6.1 KHÁI NIỆM KẾ THỪALập trình hướng đối tượng có hai đặc trưng cơ bản: Đóng gói dữ liệu, được thể hiện bằng cách dùng khái niệm lớp để biểu diễn đối tượng với các thuộc tính private, chỉ cho phép bên ngoài truy nhập vào thông qua các phương thức get/set. Dùng lại mã, thể hiện bằng việc thừa kế giữa các lớp. Việc thừa kế cho phép các lớp thừa kế (gọi là lớp dẫn xuất) sử dụng lại các phương thức đã được định nghĩa trong các lớp gốc (gọi là lớp cơ sở).6.1.1 Khai báo thừa kếCú pháp khai báo một lớp kế thừa từ một lớp khác như sau: class : { // Khai báo các thành phần lớp };Trong đó: Tên lớp dẫn xuất: là tên lớp được cho kế thừa từ lớp khác. Tên lớp này tuân thủ theo quy tắc đặt tên biến trong C++. Tên lớp cở sở: là tên lớp đã được định nghĩa trước đó để cho lớp khác kế thừa. Tên lớp này cũng tuân thủ theo quy tắc đặt tên biến của C++. 132 Từ khóa dẫn xuất: là từ khóa quy định tính chất của sự kế thừa. Có ba từ khóa dẫn xuất là private, protected và public. Mục tiếp theo sẽ trình bày ý nghĩa của các từ khóa dẫn xuất này.Ví dụ: class Bus: public Car{ // Khai báo các thành phần };là khai báo một lớp Bus (xe buýt) kế thừa từ lớp Car (xe ô tô) với tính chất kế thừa là public.6.1.2 Tính chất dẫn xuấtSự kế thừa cho phép trong lớp dẫn xuất có thể sử dụng lại một số mã nguồn của các phương thứcvà thuộc tính đã được định nghĩa trong lớp cơ sở. Nghĩa là lớp dẫn xuất có thể truy nhập trực tiếpđến một số thành phần của lớp cơ sở. Tuy nhiên, phạm vi truy nhập từ lớp dẫn xuất đến lớp cơ sởkhông phải bao giờ cũng giống nhau: chúng được quy định bởi các từ khóa dẫn xuất private,protected và public.Dẫn xuất privateDẫn xuất private quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần private của lớp dẫn xuất Các thành phần public của lớp cơ sở cũng trở thành các thành phần private của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường.Dẫn xuất protectedDẫn xuất protected quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần protected của lớp dẫn xuất Các thành phần public của lớp cơ sở cũng trở thành các thành phần protected của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường. 133Dẫn xuất publicDẫn xuất public quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần protected của lớp dẫn xuất. Các thành phần public của lớp cơ sở vẫn là các thành phần public của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường.Bảng 6.1 tóm tắt lại các quy tắc truy nhập được quy định bới các từ khóa dẫn xuất. Kiểu dẫn xuất Tính chất ở lớp cơ sở Tính chất ở lớp dẫn xuất private Không truy nhập được private protected private public private private Không truy nhập được protected protected ...
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C++: Phần 2 - TS. Nguyễn Duy PhươngHỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 1 ----------------- ---------------- BÀI GIẢNGNGÔN NGỮ LẬP TRÌNH C++ Hiệu chỉnh : TS. NGUYỄN DUY PHƯƠNG THS. NGUYỄN MẠNH SƠN HÀ NỘI, 12/2020 CHƯƠNG 6 TÍNH KẾ THỪA VÀ TÍNH ĐA HÌNHNội dung chương này tập trung trình bày các vấn đề liên quan đến tính kế thừa và tương ứng bội(đa hình) trong ngôn ngữ C++: Khái niệm kế thừa, dẫn xuất và các kiểu dẫn xuất Khai báo, định nghĩa các hàm khởi tạo và hàm hủy bỏ trong lớp dẫn xuất Truy nhập tới các thành phần của lớp cơ sở và các lớp dẫn xuất Việc một lớp được kế thừa từ nhiều lớp cơ sở khác nhau Khai báo và sử dụng các lớp cơ sở trừu tượng trong kế thừa Tính đa hình trong C++6.1 KHÁI NIỆM KẾ THỪALập trình hướng đối tượng có hai đặc trưng cơ bản: Đóng gói dữ liệu, được thể hiện bằng cách dùng khái niệm lớp để biểu diễn đối tượng với các thuộc tính private, chỉ cho phép bên ngoài truy nhập vào thông qua các phương thức get/set. Dùng lại mã, thể hiện bằng việc thừa kế giữa các lớp. Việc thừa kế cho phép các lớp thừa kế (gọi là lớp dẫn xuất) sử dụng lại các phương thức đã được định nghĩa trong các lớp gốc (gọi là lớp cơ sở).6.1.1 Khai báo thừa kếCú pháp khai báo một lớp kế thừa từ một lớp khác như sau: class : { // Khai báo các thành phần lớp };Trong đó: Tên lớp dẫn xuất: là tên lớp được cho kế thừa từ lớp khác. Tên lớp này tuân thủ theo quy tắc đặt tên biến trong C++. Tên lớp cở sở: là tên lớp đã được định nghĩa trước đó để cho lớp khác kế thừa. Tên lớp này cũng tuân thủ theo quy tắc đặt tên biến của C++. 132 Từ khóa dẫn xuất: là từ khóa quy định tính chất của sự kế thừa. Có ba từ khóa dẫn xuất là private, protected và public. Mục tiếp theo sẽ trình bày ý nghĩa của các từ khóa dẫn xuất này.Ví dụ: class Bus: public Car{ // Khai báo các thành phần };là khai báo một lớp Bus (xe buýt) kế thừa từ lớp Car (xe ô tô) với tính chất kế thừa là public.6.1.2 Tính chất dẫn xuấtSự kế thừa cho phép trong lớp dẫn xuất có thể sử dụng lại một số mã nguồn của các phương thứcvà thuộc tính đã được định nghĩa trong lớp cơ sở. Nghĩa là lớp dẫn xuất có thể truy nhập trực tiếpđến một số thành phần của lớp cơ sở. Tuy nhiên, phạm vi truy nhập từ lớp dẫn xuất đến lớp cơ sởkhông phải bao giờ cũng giống nhau: chúng được quy định bởi các từ khóa dẫn xuất private,protected và public.Dẫn xuất privateDẫn xuất private quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần private của lớp dẫn xuất Các thành phần public của lớp cơ sở cũng trở thành các thành phần private của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường.Dẫn xuất protectedDẫn xuất protected quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần protected của lớp dẫn xuất Các thành phần public của lớp cơ sở cũng trở thành các thành phần protected của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường. 133Dẫn xuất publicDẫn xuất public quy định phạm vi truy nhập như sau: Các thành phần private của lớp cơ sở thì không thể truy nhập được từ lớp dẫn xuất. Các thành phần protected của lớp cơ sở trở thành các thành phần protected của lớp dẫn xuất. Các thành phần public của lớp cơ sở vẫn là các thành phần public của lớp dẫn xuất. Phạm vi truy nhập từ bên ngoài vào lớp dẫn xuất được tuân thủ như quy tắc phạm vi lớp thông thường.Bảng 6.1 tóm tắt lại các quy tắc truy nhập được quy định bới các từ khóa dẫn xuất. Kiểu dẫn xuất Tính chất ở lớp cơ sở Tính chất ở lớp dẫn xuất private Không truy nhập được private protected private public private private Không truy nhập được protected protected ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Ngôn ngữ lập trình C++ Ngôn ngữ lập trình C++ Nguyên tắc truy nhập trong kế thừa Lập trình hướng đối tượng Lập trình cấu trúcGợi ý tài liệu liên quan:
-
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 373 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 276 0 0 -
46 trang 257 0 0
-
101 trang 200 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 195 0 0 -
Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền
100 trang 191 1 0 -
14 trang 134 0 0
-
51 trang 133 0 0
-
Lý thuyết ngôn ngữ lập trình C++ dành cho sinh viên: Phần 2
276 trang 128 0 0 -
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0