1. Trang chủ
  2. » Thể loại khác

CH02 - Ngon ngu C doc

45 339 0

Đ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

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 c c 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 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 cc 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à c c lớp trừu tượng C c lớp này không c đối... protected: Truy c p đư c từ trong lớp khai báo và c c 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 c c 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 c c phương th c (hàm) • Khai báo phương th c: [] () { } • Khai báo c c 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 • C c phương th c của 1 lớp c c 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 c c 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) • C c hành động c a c c đố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ư cC 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ẽ

Ngày đăng: 16/03/2014, 07:20

w