Lập trình hướng đối tượng C+ + pot

123 541 0
Lập trình hướng đối tượng C+ + pot

Đ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

Lập trình hướng đối tượng C+ Lập trình hướng đối tượng C+ + + Tổng quan Tổng quan Lập trình cấu trúc Lập trình cấu trúc • Lập trình cấu trúc (1960s) – Phân chia vấn đề lớn thành các vấn đề con độc lập, từ đó tạo thành thủ tục và hàm. – Trọng tâm của lập trình truyền thống: dựa trên các chi tiết của việc thực hiện. – Phương pháp viết chương trình chặt chẽ – Rõ ràng, dễ thử nghiệm và sửa lỗi, dễ thay đổi – Khi chương trình lớn hơn  khó quản lý – Dữ liệu đóng vai trò quan trọng • Khi thêm 1 dữ liệu kiểu mới, phải thay đổi tất cả các công việc và các hàm liên quan đến dữ liệu đó • Không thể phân chia các phần cần che dấu thông tin trong chương trình. • Object oriented programming (OOP) – Chia bài toán thành các nhóm nhỏ có liên hệ với nhau gọi là đối tượng. Lập trình hướng đối tượng Lập trình hướng đối tượng Đối Tượng Đối Tượng (Object) (Object) • Đối tượng là chìa khóa để hiểu được kỹ thuật hướng đối tượng • Trong hệ thống hướng đối tượng, mọi thứ đều là đối tượng Viết một chương trình hướng đối tượng nghĩa là đang tạo một mô hình của một vài bộ phận trong thế giới thực Sales Accounts What is the salary of Jack? What is the salary of Jack? Jack's salary is $2000 Jack's salary is $2000 – Hộp đen chứa các lệnh (code) và dữ liệu. – Thông tin truyền giữa các phần khác nhau gọi là các thông điệp giữa các đối tượng. – Các thông điệp này có thể được chuyển thành lời gọi hàm trong chương trình. Đối tượng (Object) Đối tượng (Object) Đối Tượng Đối Tượng Đối tượng (object) là một thực thể phần mềm bao bọc các thuộc tính và các phương thức liên quan. Đối tượng phần mềm Đối tượng phần mềm Xe Đạp Thuộc tính được xác định bởi giá trị cụ thể gọi là thuộc tính thể hiện. Một đối tượng cụ thể được gọi là một thể hiện. Đối Tượng Thế Giới Thực Đối Tượng Thế Giới Thực (Real Object) (Real Object) • Một đối tượng thế giới thực là một thực thể cụ thể mà thông thường bạn có thể sờ, nhìn thấy hay cảm nhận được. • Tất cả có trạng thái (state) và hành động (behaviour) Đối Tượng Phần Mềm Đối Tượng Phần Mềm (Software Object) (Software Object) • Các đối tượng phần mềm có thể được dùng để biểu diễn các đối tượng thế giới thực. • Cũng có trạng thái và hành động – Trạng thái: thuộc tính (attribute; property) – Hành động: phương thức (method) Lớp (Class) Lớp (Class) • Nhóm các đối tượng có cùng thuộc tính, hành vi và mối quan hệ chung. • Lớp là viết tắt của “lớp của đối tượng”. • Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu – Ví dụ: lớp XeDap là một thiết kế chung cho nhiều đối tượng xe đạp được tạo ra • Một đối tượng là một thể hiện cụ thể của một lớp. – Ví dụ: mỗi đối tượng xe đạp là một thể hiện của lớp XeDap • Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau – Ví dụ: một cây mai có hoa 6 cánh, trong khi một cây khác có hoa đến 12 cánh. [...]... (Method) • Một hoạt động, hành vi của đối tượngĐối tượng là “hộp đen” nhận và gửi thông điệp (message) Cơ bản về lớp • Đối tượng của lớp – Đối tượng là một thể hiện cụ thể của một lớp – Khai báo sau định nghĩa lớp • Khai báo đối tượng hoặc mảng, con trỏ, tham chiếu đến đối tượng • Ví dụ: Point pt; Point polygon[9]; Point *pt1, pt2, pt3; • Chỉ dữ liệu của đối tượng mới được cấp phát vùng nhớ, các... tốt • Những chi tiết cài đặt được ẩn – OOP giúp lập trình viên duy trì mã và sửa đổi mã tồn tại dễ dàng (các đối tượng được tạo ra với những khác nhau nhỏ so với những đối tượng tồn tại) – OOP cung cấp một cơ chế tốt với các thư viện mã mà các thành phần có thể được chọn và sửa đổi bởi lập trình viên Trừu Tượng Hóa (Abstraction) • Trừu tượng hóa – Tiến trình xem xét các khía cạnh nào đó của bài toán... nhau đối với các đối tượng/ các lớp khác nhau • Ngữ cảnh khác  kết quả khác Điểm Đường Thẳng Hình Tròn Vẽ Hình Vuông Lớp Khái niệm lớp • Lớp: khái niệm trung tâm của OOP • Định nghĩa: Lớp là nhóm của những đối tượng (objects) có cùng chung thuộc tính (properties) và có những mối quan hệ chung • Đối tượng: thể hiện một thực thể trong thế giới thực Khái niệm lớp • Lớp: kiểu dữ liệu trừu tượng Đặc tả đối. .. hiện – Các tham số mà phương thức cần • Truyền thông điệp: một đối tượng triệu gọi một hay nhiều phương thức của đối tượng khác để yêu cầu thông tin Đặc Điểm Quan Trọng • Nhấn mạnh trên dữ liệu hơn là thủ tục • Các chương trình được chia thành các đối tượng • Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài • Các đối tượng có thể giao tiếp với nhau thông qua các hàm • Dữ liệu hay... y; } void Point::OffsetPt (int x, int y) { Point xVal += x; yVal += y; } void main() { Point pt; pt.SetPt(10,20); pt.OffsetPt(2,2); …… Tạo ra đối tượng thuộc lớp Point Gọi hàm trên đối tượng pt.xVal = 10; // Đúng hay sai? Point pt1, pt2, pt3; ……… } Cơ bản về lớp • Lớp gồm các thành viên: – Dữ liệu thành viên (Member Data): • Một đặc trưng của đối tượng • Có thể là kiểu đã được định nghĩa hoặc tự định... (Information Hiding) • Đóng gói  Thuộc tính được lưu trữ hay phương thức được cài đặt như thế nào  được che giấu đi từ các đối tượng khác Việc che giấu những chi tiết thiết kế và cài đặt từ những đối tượng khác được gọi là ẩn thông tin Tính Thừa Kế (Inheritance) • Hệ thống hướng đối tượng cho phép các lớp được định nghĩa kế thừa từ các lớp khác – Ví dụ, lớp xe đạp leo núi và xe đạp đua là những lớp con... thích • Các kỹ thuật trừu tượng – Đóng gói (encapsulation) – Ẩn thông tin (information hiding) – Thừa kế (inheritance) – Đa hình (polymorphism) Tính đóng gói (Encapsulation) • Đóng gói (encapsulation): – Cho phép truy cập đối tượng chỉ qua thông điệp của nó trong khi giữ kín các chi tiết riêng tư gọi là ẩn thông tin – Là tiến trình che giấu việc thực thi chi tiết của một đối tượng Ẩn thông tin (Information... s1(100); Set s2(20); Set s3(1000); … } Mềm dẻo hơn Không cần phải nhớ gọi hàm EmptySet() khi khởi tạo Hàm tạo • Hàm tạo sao chép khởi tạo đối tượng dựa trên một đối tượng khác thuộc cùng lớp • Mỗi lớp có một hàm tạo sao chép mặc định – hàm này có một tham số là đối tượng cùng lớp • Ta có thể định nghĩa lại hàm tạo sao chép Date(Date& d) • Ví dụ void main() { Date d1(12,4,1997); Date d2(d1); // hàm tạo... Định xVal = x; nghĩa yVal = y; bên } trong void OffsetPt (int x, int y) { xVal += x; lớp yVal += y; } }; Truy cập các thành phần (dữ liệu và hàm) • Các chế độ truy cập – private • Chế độ truy cập mặc định • Các hàm thành phần và các hàm bạn, lớp bạn có thể truy cập được – public • Bất kỳ hàm nào trong chương trình xử lý đối tượng đó cũng có thể truy cập được – protected • Sẽ được học sau Hiện tại giống... cô lập lỗi ⇒ dễ dàng tìm kiếm và sữa chữa Hàm tạo • • • • Dùng để định nghĩa và khởi tạo đối tượng cùng 1 lúc Có tên trùng với tên lớp, không có kiểu trả về Không gọi trực tiếp, sẽ được tự động gọi khi khởi tạo đt Gán giá trị, cấp vùng nhớ cho các dữ liệu thành viên viên class Point { int xVal, yVal; public: Point (int x, int y) { xVal = x; yVal = y; } void OffsetPt (int x, int y) { xVal += x; yVal += . Lập trình hướng đối tượng C+ Lập trình hướng đối tượng C+ + + Tổng quan Tổng quan Lập trình cấu trúc Lập trình cấu trúc • Lập trình cấu trúc (1960s) – Phân chia. chương trình. • Object oriented programming (OOP) – Chia bài toán thành các nhóm nhỏ có liên hệ với nhau gọi là đối tượng. Lập trình hướng đối tượng Lập trình hướng đối tượng Đối Tượng Đối Tượng . (Object) (Object) • Đối tượng là chìa khóa để hiểu được kỹ thuật hướng đối tượng • Trong hệ thống hướng đối tượng, mọi thứ đều là đối tượng Viết một chương trình hướng đối tượng nghĩa là đang

Ngày đăng: 30/03/2014, 23:20

Từ khóa liên quan

Mục lục

  • Lập trình hướng đối tượng C++

  • Tổng quan

  • Lập trình cấu trúc

  • Lập trình hướng đối tượng

  • Đối Tượng (Object)

  • Đối tượng (Object)

  • Đối Tượng

  • Đối Tượng Thế Giới Thực (Real Object)

  • Đối Tượng Phần Mềm (Software Object)

  • Lớp (Class)

  • Thuộc Tính Lớp & Phương Thức Lớp

  • Slide 12

  • Thông Điệp & Truyền Thông Điệp

  • Đặc Điểm Quan Trọng

  • Thuận Lợi

  • Trừu Tượng Hóa (Abstraction)

  • Tính đóng gói (Encapsulation)

  • Ẩn thông tin (Information Hiding)

  • Tính Thừa Kế (Inheritance)

  • Tính Đa Hình (Polymorphism)

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan