Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
1,89 MB
Nội dung
Người biên soạn: Hồ Quang Thái (MSCB: 2299)
BM. Công Nghệ Phần Mềm, Khoa CNTT&TT
Email: hqthai@cit.ctu.edu.vn
Số tín chỉ: 2 (20 LT + 20TH)
CHUYÊN ĐỀ NGÔN NGỮ LẬP TRÌNH 1
CHƯƠNG 2
LẬP TRÌNH HƯỚNG
ĐỐI TƯỢNG VỚI C#
NỘI DUNG
•
Lớp và đối tượng
•
Phương thức
•
Nạp chồng phương thức
•
Constructor & Destructor
•
Thừa kế
•
Ghi đè phương thức trong thừa kế
•
Giao tiếp (Interface)
•
Thuộc tính
CÁC PHƯƠNG PHÁP LẬP TRÌNH TRUYỀN
THỐNG
1. Lập trình tuyến tính: Chương trình sẽ được thực hiện
tuần tự từ đầu đến cuối, lệnh này kế tiếp lệnh kia cho
đến khi kết thúc chương trình.
Đặc trưng là đơn giản và đơn luồng.
• Ưu điểm: Chương trình đơn giản, dễ hiểu. Ứng dụng
cho các chương trình đơn giản.
• Nhược điểm: Với các ứng dụng phức tạp, người ta
không thể dùng lập trình tuyến tính để giải quyết.
CÁC PHƯƠNG PHÁP LẬP TRÌNH TRUYỀN
THỐNG
1. Lập trình cấu trúc: Chương trình chính được chia nhỏ
thành các chương trình con và mỗi chương trình con thực
hiện một công việc xác định. Chương trình chính sẽ gọi
đến chương trình con theo một giải thuật, hoặc một cấu
trúc được xác định trong chương trình chính.
-Ngôn ngữ: Pascal, C, C++, …
Đặc trưng : Chương trình = Cấu trúc DL + Giải thuật
•
Cấu trúc dữ liệu là cách tổ chức dữ liệu, cách mô
tả bài toán dưới dạng ngôn ngữ lập trình.
•
Giải thuật là một quy trình để thực hiện một công
việc xác định.
CÁC PHƯƠNG PHÁP LẬP TRÌNH TRUYỀN
THỐNG
Ưu điểm:
• Chương trình sáng sủa, dễ hiểu, dễ theo dõi.
• Tư duy giải thuật rõ ràng.
Nhược điểm:
• Lập trình cấu trúc không hỗ trợ việc sử dụng lại mã nguồn:
Giải thuật luôn phụ thuộc chặt chẽ vào cấu trúc dữ liệu, do
đó, khi thay đổi cấu trúc dữ liệu, phải thay đổi giải thuật,
nghĩa là phải viết lại chương trình.
• Không phù hợp với các phần mềm lớn: tư duy cấu trúc với
các giải thuật chỉ phù hợp với các bài toán nhỏ, nằm trong
phạm vi một module của chương trình.
PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
Để khắc phục được hai hạn chế này khi giải quyết các
bài toán lớn, người ta xây dựng một phương pháp tiếp
cận mới, là phương pháp lập trình hướng đối tượng,
với hai mục đích chính:
• Đóng gói dữ liệu để hạn chế sự truy nhập tự do vào
dữ liệu, không quản lí được.
• Cho phép sử dụng lại mã nguồn, hạn chế việc phải
viết lại mã từ đầu cho các chương trình.
PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
Đặc trưng:
• Đóng gói dữ liệu: dữ liệu luôn được tổ chức thành
các thuộc tính của lớp đối tượng. Việc truy nhập đến
dữ liệu phải thông qua các phương thức của đối tượng
lớp.
• Sử dụng lại mã nguồn: việc sử dụng lại mã nguồn
được thể hiện thông qua cơ chế kế thừa. Cơ chế này
cho phép các lớp đối tượng có thể kế thừa từ các lớp
đối tượng khác.
PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
Ưu điểm
• Không còn nguy cơ dữ liệu bị thay đổi tự do trong
chương trình. Vì dữ liệu đã được đóng gói vào các đối
tượng. Phải thông qua các phương thức cho phép của đối
tượng.
• Khi thay đổi cấu trúc dữ liệu của một đối tượng, không
cần thay đổi các đổi mã nguồn của các đối tượng khác, mà
chỉ cần thay đổi một số hàm thành phần của đối tượng bị
thay đổi.
• Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên.
• Phù hợp với các dự án phần mềm lớn, phức tạp.
ĐỐI TƯỢNG
•
Đối tượng là một thực thể hoạt động khi chương trình
đang chạy. Một đối tượng được xác định bằng ba yếu tố:
–
Định danh đối tượng: xác định duy nhất cho mỗi đối
tượng trong hệ thống, nhằm phân biệt các đối tượng
với nhau.
–
Trạng thái của đối tượng: là sự tổ hợp của các giá trị
của các thuộc tính mà đối tượng đang có.
–
Hoạt động của đối tượng: là các hành động mà đối
tượng có khả năng thực hiện được.
[...]... Phương th c của lớp tương ứng với cc hành động c a đối tượng VÍ DỤ VỀ LỚP ĐỐI TƯỢNG Lưu ý: Một lớp c thể c một trong cc khả năng sau: • Ho c chỉ c thu c tính, không c phương th c • Ho c chỉ c phương th c, không c thu c tính • Ho c có c thu c tính và phương th c, trường hợp này là phổ biến nhất • Đ c biệt, lớp không c thu c tính và phương th c nào là cc lớp trừu tượng Cc lớp này không c đối... protected: Truy c p đư c từ trong lớp khai báo và cc lớp con c a lớp khai báo • public: Truy c p đư c từ mọi nơi • M c định là private Từ khóa static • Từ khoá static – Đư c dùng với phương th c và dữ liệu thành viên – Dữ liệu thành viên static: dùng chung cho mọi đối tượng c a lớp, đư c truy c p qua qua tên lớp private static char TAB = ‘\t’; – Phương th c static: là phương th c chỉ đư c phép truy c p... c p tới cc biến static c a lớp, c thể gọi ngay c khi chưa c đối tượng nào c a lớp public static void Welcome() { } Phương th c static Truyền tham số bằng tham chiếu • Từ khóa ref đư c sử dụng khi định nghĩa phương th c và l c gọi th c thi phương th c • Tham số th c tế đư c truyền bằng tham chiếu bắt bu c phải đư c khởi tạo giá trị trư c khi gọi th c thi phương th c Truyền tham số bằng tham chiếu... đư c thể hiện qua cc phương th c (hàm) • Khai báo phương th c: [] () { } • Khai báo cc tham số giống như khai báo biến • Lời gọi phương th c là một biểu th c: () Phương th c (Method) Phạm vi truy c p • private: Chỉ truy c p đư c từ trong lớp khai... số đầu ra trong C# c ng là hình th c tham số đư c truyền bằng tham chiếu • Từ khóa out đư c sử dụng khi định nghĩa và l c gọi th c thi phương th c • Sử dụng từ khóa out ta không c n khởi tạo giá trị cho tham số th c tế tương ứng Tham số đầu ra Nạp chồng phương th c- Method Overloading • Cc phương th c của 1 lớp cc ng tên nhưng kh c tham số ho c kiểu trả về Nạp chồng phương th c- Method Overloading... khóa this cho phép tham chiếu đến đối tượng hiện hành • Thông qua từ khóa this ta c thể truy c p đến cc thành viên c a đối tượng hiện hành Từ khóa this Phương th c xây dựng - Constructor • Là phương th c đư c gọi th c hiện khi một đối tượng c a một lớp đư c tạo ra • Trong C# , phương th c xây dựng c tên trùng với tên lớp • C thể nạp chồng phương th c xây dựng Phương th c xây dựng - Constructor Phương... từ khóa class: class { } • : dữ liệu thành viên hay phương th c Tạo đối tượng từ lớp • Vi c tạo đối tượng chính là vi c khai báo và khởi tạo một biến từ lớp • Ví dụ: Tạo đối tượng p thu c lớp Students: Students p; p = new Students(); //ho c Students p = new Students (); Phương th c (Method) • Cc hành động c a cc đối tượng c a 1 lớp đư c thể... Phương th c hủy - Destructor • Là phương th c đư c gọi th c thi mỗi khi 1 đối tượng bị thu hồi • Trong C# , phương th c hủy c tên là ký tự ~ theo sau là tên lớp Phương th c hủy - Destructor Thừa kế • Thừa kế là khả năng một lớp (lớp con) thừa hưởng những thành viên từ 1 lớp đã c (lớp cha) • Thí dụ: – Hình vuông kế thừa từ hình chữ nhật – Con ếch kế thừa từ loài động vật dưới nư c • C pháp: class . một trong c c khả năng sau:
•
Ho c chỉ c thu c tính, không c phương th c.
•
Ho c chỉ c phương th c, không c thu c tính.
•
Ho c có c thu c tính và. c u tr c: Chương trình chính đư c chia nhỏ
thành c c chương trình con và mỗi chương trình con th c
hiện một c ng vi c x c định. Chương trình chính sẽ