1. Trang chủ
  2. » Công Nghệ Thông Tin

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

123 542 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

Cấu trú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)

  • Lớp

  • Khái niệm lớp

  • Slide 23

  • Lớp đơn giản

  • Cơ bản về lớp

  • Slide 26

  • Slide 27

  • Slide 28

  • Slide 29

  • Hàm thành viên nội tuyến

  • Truy cập các thành phần (dữ liệu và hàm)

  • Các hàm truy cập và các hàm hữu dụng

  • Sự đóng gói (encapsulation)

  • Hàm tạo

  • Slide 35

  • Slide 36

  • Hàm hủy

  • Hàm tạo và hàm hủy mặc định

  • Đối số mặc định

  • Đối số thành viên ẩn

  • Sử dụng con trỏ this

  • Slide 42

  • Slide 43

  • Slide 44

  • Slide 45

  • Bạn (Friend) – Đặt vấn đề

  • Hàm bạn (Friend)

  • Slide 48

  • Bạn (Friend)

  • Hàm bạn và lớp bạn

  • Hàm thành viên và hàm đôc lập

  • Slide 52

  • Slide 53

  • Slide 54

  • Slide 55

  • Toán tử new

  • Toán tử delete

  • Toán tử phạm vi

  • Danh sách khởi tạo thành viên

  • Thành viên hằng

  • Slide 61

  • Thành viên tĩnh

  • Slide 63

  • Slide 64

  • Slide 65

  • Truy xuất các dữ liệu static

  • Thành phần static của lớp

  • Slide 68

  • Slide 69

  • Slide 70

  • Slide 71

  • Thành viên tham chiếu

  • Thành viên là đối tượng của 1 lớp

  • Mảng các đối tượng

  • Slide 75

  • Phạm vi lớp

  • Slide 77

  • Cấu trúc và hợp

  • Slide 79

  • Quá tải (Overloading)

  • Qúa tải hàm

  • Quá tải toán tử

  • Slide 86

  • Slide 87

  • Chuyển kiểu

  • Chuyển kiểu (tt)

  • Quá tải toán tử xuất <<

  • Quá tải toán tử nhập >>

  • Quá tải toán tử [ ]

  • Quá tải toán tử ()

  • Quá tải toán tử ++ & --

  • Quá tải new & delete

  • Thừa kế (Inheritance)

  • Khái niệm

  • Ví dụ minh họa

  • Ví dụ minh họa (tt)

  • Ví dụ (tt) - mô tả trong bộ nhớ

  • Hàm tạo và hàm hủy

  • Hàm tạo và hàm hủy (tt)

  • Thành viên lớp được bảo vệ

  • Lớp cơ sở riêng, chung và được bảo vệ

  • Đa thừa kế

  • Sự mơ hồ trong đa thừa kế

  • Slide 108

  • Slide 109

  • Hàm ảo

  • Hàm ảo (tt)

  • Slide 112

  • Slide 113

  • Hàm thuần ảo

  • Ví dụ: hàm thuần ảo

  • Lớp cơ sở ảo

  • Lớp cơ sở ảo (tt)

  • Slide 118

  • Khuôn hình

  • Định nghĩa khuôn hình

  • Định nghĩa khuôn hình…

  • Chuyên biệt hoá hàm

  • Chuyên biệt hoá hàm …

  • Khuôn hình lớp

  • Khuôn hình lớp …

  • Slide 126

  • Chuyên biệt hoá lớp

Nội dung

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