OOP2020: Lập trình hướng đối tượng với C++ (CSLT HP2) CQ55/41.LT_ (1/2020)

Giới thiệu về lập trình hướng đối tượng – OOP

Tổng quan
Lập trình hướng đối tượng
Lập trình định hướng đối tượng
Object Oriented Programming (OOP)
Được xem là:
Cách tiếp cận mới, hiệu quả hơn
Giúp tăng năng suất
Dễ dàng bảo trì, sửa đổi, nâng cấp
Mục đích:
Giảm bớt thao tác viết chương trình
Mô tả chân thực thế giới thực
Vậy OOP khó học hay dễ học ?


1.1 Lập trình tuyến tính
1.2 Lập trình cấu trúc
1.3 Lập trình môđun
1.4 Nhược điểm của lập trình cấu trúc
1.5 Lập trình hướng đối tượng


1.1 Lập trình tuyến tính :
Còn gọi là lập trình phi cấu trúc
Giải quyết các bài toán tương nhỏ, đối đơn giản
Đặc điểm:
Chỉ gồm một chương trình chính
Gồm một dãy tuần tự các câu lệnh
Chương trình ngắn, ít hơn 100 dòng

Nhược điểm:
Không sử dụng lại được các đoạn mã
Không có khả năng kiểm soát phạm vi truy xuất dữ liệu
Mọi dữ liệu trong chương trình là toàn cục
Dữ liệu có thể bị sửa đổi ở bất cứ vị trí nào trong chương trình
Không đáp ứng được việc triển khai phần mềm


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

Ra đời vào những năm 70:
Chương trình được chia nhỏ thành chương trình con:
Thủ tục (Procedure)
Hàm (Function)
Các chương trình con:
Độc lập với nhau và có dữ liệu riêng
Trao đổi qua: tham số và biến toàn cục

Xuất hiện khái niệm trừu tượng hoá
Là khả năng quan sát sự vật mà:
Không quan tâm tới các chi tiết không quan trọng bên trong
Không quan tâm tới việc thực hiện như thế nào
Trừu tượng hoá dữ liệu
Trừu tượng hoá thao tác
Ngôn ngữ lập trình cấu trúc:
C, Pascal
Foxpro …


1.3 Lập trình môđun

Với lập trình môđun:
Các thủ tục có chung một chức năng được nhóm lại với nhau
Chương trình được chia thành nhiều phần nhỏ
Các phần tương tác thông qua việc gọi thủ tục
Mỗi mô đun có dữ liệu của riêng nó


1.4 Nhược điểm của lập trình truyền thống

Nhược điểm:
Chương trình khó kiểm soát
Khó khăn trong việc bổ sung, nâng cấp chương trình
Khi thay đổi, bổ sung dữ liệu dùng chung thì phải thay đổi gần như tất cả thủ tục/hàm liên quan
Khả năng sử dụng lại các đoạn mã chưa nhiều
Không mô tả đầy đủ, trung thực hệ thống trong thực tế


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

Là phương pháp lập trình:
Mô tả chính xác các đối tượng trong thế giới
Lấy đối tượng làm nền tảng xây dựng thuật toán
Thiết kế xoay quanh dữ liệu của hệ thống
Chương trình được chia thành các lớp đối tượng
Dữ liệu được đóng gói, che dấu và bảo vệ
Đối tượng làm việc với nhau qua thông báo
Chương trình được thiết kết theo cách từ dưới lên (bottom-up)


2. Một số khái niệm cơ bản

2.1 Hệ thống hướng đối tượng
2.2 Đối tượng
2.3 Thuộc tính & Phương thức
2.4 Lớp & Lớp con
2.5 Lớp trừu tượng
2.6 Truyền thông điệp
2.7 Sự trừu tượng hoá
2.8 Sự đóng gói
2.9 Sự kế thừa
2.10 Sự đa hình

Comments are closed.