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

TÀI LIỆU ĐẠI HỌC - godautre PPLT-Chuong 3

46 178 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 46
Dung lượng 179 KB

Nội dung

TÀI LIỆU ĐẠI HỌC - godautre PPLT-Chuong 3 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả...

Chương Lập trình hướng đối tượng Lập trình hướng đối tượng (OOP - object-oriented programming) • Là phương pháp lập trình hỗ trợ cơng nghệ đối tượng • OOP xem giúp tăng suất, đơn giản hóa độ phức tạp bảo trì mở rộng phần mềm cách cho phép lập trình viên tập trung vào đối tượng phần mềm bậc cao • Những đối tượng ngơn ngữ OOP kết hợp mã liệu mà chúng nhìn nhận đơn vị • Mỗi đối tượng có tên riêng biệt tất tham chiếu đến đối tượng tiến hành qua tên Như vậy, đối tượng có khả nhận vào thơng báo, xử lý liệu (bên nó), gửi hay trả lời đến đối tượng khác hay đến mơi trường Đối tượng (Object) • Đối tượng: Các liệu thị kết hợp vào đơn vị đầy đủ tạo nên đối tượng Đơn vị tương đương với chương trình đối tượng chia thành hai phận chính: phần phương thức (method) phần thuộc tính (property) • Trong thực tế, phương thức đối tượng hàm thuộc tính biến, tham số hay nội đối tượng (hay nói cách khác tập hợp liệu nội tạo thành thuộc tính đối tượng) • Các phương thức phương tiện để sử dụng đối tượng thuộc tính mơ tả đối tượng có tính chất • • Các phương thức thuộc tính thường gắn chặt với thực tế đặc tính sử dụng đối tượng Trong thực tế, đối tượng thường trừu tượng hóa qua việc định nghĩa lớp (class) • Tập hợp giá trị có thuộc tính tạo nên trạng thái đối tượng • Mỗi phương thức hay liệu nội với tính chất định nghĩa (bởi người lập trình) xem đặc tính riêng đối tượng 3.1 Các tính chất Tính trừu tượng (abstraction): Là khả chương trình bỏ qua hay khơng ý đến số khía cạnh thơng tin mà trực tiếp thực hiện, nghĩa có khả tập trung vào cốt lõi cần thiết Mỗi đối tượng hồn tất công việc cách nội bộ, liên lạc với đối tượng khác mà không cần cho biết làm cách đối tượng tiến hành thao tác Tính chất thường gọi trừu tượng liệu Tính trừu tượng thể qua việc đối tượng ban đầu có số đặc điểm chung cho nhiều đối tượng khác mở rộng Tính trừu tượng thường xác định khái niệm gọi lớp trừu tượng hay lớp sở trừu tượng Tính đóng gói (encapsulation) che dấu thơng tin (information hiding): Tính chất không cho phép người sử dụng đối tượng thay đổi trạng thái nội đối tượng Chỉ có phương thức nội đối tượng cho phép thay đổi trạng thái Việc cho phép mơi trường bên ngồi tác động lên liệu nội đối tượng theo cách hồn tồn tùy thuộc vào người viết mã Đây tính chất đảm bảo tồn vẹn đối tượng Tính đa hình (polymorphism): Thể thông qua việc gửi thông điệp (message) Việc gửi thơng điệp so sánh việc gọi hàm bên đối tượng Các phương thức dùng trả lời cho thông điệp tùy theo đối tượng mà thơng điệp gửi tới có phản ứng khác Người lập trình định nghĩa đặc tính (chẳng hạn thơng qua tên phương thức) cho loạt đối tượng gần thi hành dùng tên gọi mà thi hành đối tượng tự động xảy tương ứng theo đặc tính đối tượng mà khơng bị nhầm lẫn Thí dụ định nghĩa hai đối tượng "hinh_vuong" "hinh_tron" có phương thức chung "chu_vi" Khi gọi phương thức đối tượng "hinh_vuong" tính theo cơng thức khác với đối tượng "hinh_tron" Tính kế thừa (inheritance): Đặc tính cho phép đối tượng có sẵn đặc tính mà đối tượng khác có thông qua kế thừa Điều cho phép đối tượng chia sẻ hay mở rộng đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại 3.2 Một số khái niệm Lớp (class) • Một lớp hiểu khn mẫu để tạo đối tượng Trong lớp, người ta thường dùng biến để mơ tả thuộc tính hàm để mô tả phương thức đối tượng • Khi định nghĩa lớp, ta tạo đối tượng từ lớp Để việc sử dụng dễ dàng, thông qua hệ thống hàm tạo (constructor), người ta dùng lớp kiểu liệu để tạo đối tượng Lớp (subclass) • Lớp lớp thơng thường có thêm tính chất kế thừa phần hay tồn đặc tính lớp khác Lớp mà chia kế thừa gọi Lớp cha (parent class) Lớp trừu tượng hay lớp sở trừu tượng (abstract class) • Lớp trừu tượng lớp mà khơng thể thực thể hóa thành đối tượng thực dụng Lớp thiết kế nhằm tạo lớp có đặc tính tổng qt thân lớp chưa có ý nghĩa (hay khơng đủ ý nghĩa) để tiến hành viết mã cho việc thực thể hóa • Thí dụ: Lớp "hinh_thang" định nghĩa khơng có liệu nội có phương thức (hàm nội tại) "tinh_chu_vi", "tinh_dien_tich" Nhưng lớp hinh_thang chưa xác định đầy đủ đặc tính (cụ thể biến nội tọa độ đỉnh đa giác, đường bán kính toạ độ tâm hình tròn, ) nên viết thành lớp trừu tượng Sau đó, người lập trình tạo lớp chẳng hạn lớp "tam_giac", lớp "hinh_tron", lớp "tu_giac", Và lớp người viết mã cung cấp liệu nội (như biến nội r làm bán kính số nội Pi cho lớp "hinh_tron" sau viết mã cụ thể cho phương thức "tinh_chu_vi" "tinh_dien_tich") Phương thức (method) • Phương thức lớp thường dùng để mô tả hành vi đối tượng (hoặc lớp) • Khi thiết kế, người ta dùng phương thức để mô tả thực hành vi đối tượng • Mỗi phương thức thường định nghĩa hàm, thao tác để thực hành vi viết nội dung hàm • Một số loại phương thức đặc biệt: Hàm tạo (constructor) hàm dùng để tạo đối tượng, cài đặt giá trị ban đầu cho thuộc tính đối tượng Hàm hủy (destructor) hàm dùng vào việc làm nhớ dùng để lưu đối tượng hủy bỏ tên đối tượng sau dùng xong • Các lớp friend #include class CSquare; class CRectangle { int width, height; public: int area () {return (width * height);} void convert (CSquare a); }; class CSquare { private: int side; public: void set_side (int a) {side=a;} friend class CRectangle; }; void CRectangle::convert (CSquare a) { width = a.side; height = a.side; } int main () { CSquare sqr; CRectangle rect; sqr.set_side(4); rect.convert(sqr); cout

Ngày đăng: 21/12/2017, 12:12

w