Bài giảng kỹ thuật lập trình hướng đối tượng với c++ hoàng kim bảng

163 327 1
Bài giảng kỹ thuật lập trình hướng đối tượng với c++   hoàng kim bảng

Đ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

Kỹ thuật lập trình hướng đối tượng với C++ GV: Hoàng Kim Bảng Email : bang_hoang@yahoo.com Chương 1- Giới thiệu lập trình hướng đối tượng Lập trình hướng đối tượng (Object Oriented Programming - OOP) xem là: - Cách tiếp cận mới, hiệu - Giúp tăng suất - Dễ dàng bảo trì, sửa đổi, nâng cấp Mục đích lập trình hướng đối tượng: - Giảm bớt thao tác viết trình - Mơ tả chân thực giới thực Nhược điểm: - Không sử dụng lại đoạn mã - Khơng có khả kiểm soát phạm vi truy xuất liệu - Mọi liệu chương trình tồn cục - Dữ liệu bị sửa đổi vị trí chương trình Khơng đáp ứng việc triển khai phần mềm 1.1.2 Lập trình cấu trúc Ra đời vào năm 70: Chương trình 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 có liệu riêng •Trao đổi qua: tham số biến tồn cục Xuất khái niệm trừu tượng hố •Là khả quan sát vật mà: –Không quan tâm tới chi tiết không quan trọng bên –Không quan tâm tới việc thực •Trừu tượng hố liệu •Trừu tượng hố thao tác Ngơn ngữ lập trình cấu trúc: C, Pascal… 1.1.3 Lập trình mơđun Với lập trình mơđun: •Các thủ tục có chung chức nhóm lại với •Chương trình 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ó liệu riêng 1.1.4 Nhược điểm lập trình truyền thống •Chương trình khó kiểm sốt •Khó khăn việc bổ sung, nâng cấp chương trình •Khi thay đổi, bổ sung liệu dùng chung phải thay đổi gần tất thủ tục/hàm liên quan •Khả sử dụng lại đoạn mã chưa nhiều •Khơng mơ tả đầy đủ, trung thực hệ thống thực tế 1.1.5 Lập trình hướng đối tượng Là phương pháp lập trình: •Mơ tả xác đối tượng giới •Lấy đối tượng làm tảng xây dựng thuật tốn •Thiết kế xoay quanh liệu hệ thống •Chương trình chia thành lớp đối tượng •Dữ liệu đóng gói, che dấu bảo vệ •Đối tượng làm việc với qua thơng báo •Chương trình thiết kết theo cách từ lên (bottomup) 1.2 Một số khái niệm 1.2.1 Đối tượng (object) - Đối tượng khái niệm trừu tượng phản ánh thực thể giới thực: * Có thể thực thể vật lý * Có thể khái niệm trừu tượng - Đối tượng định nghĩa thể lớp - Đối tượng thực thể hệ thống hướng đối tượng - Một đối tượng đóng gói thành phần: * Dữ liệu * Phương thức * Thành phần liệu bao gồm: + Hằng, biến + Tham số nội Dữ liệu xác định kiểu liệu gồm kiểu liệu sở, kiểu liệu tự định nghĩa * Phương thức là: + Các hàm nội đối tượng + Có kiểu trả (Phương thức gọi hàm thành phần) 1.2.2 Lớp (class) Lớp tập hợp đối tượng có thuộc tính hành vi Lớp thiết kế mẫu mô tả cấu trúc liệu gồm: * Các thành phần liệu * Các phương thức / hàm thành phần Lớp sử dụng kiểu liệu người lập trình tự định nghĩa 1.2.3 Sự đóng gói Sự đóng gói chế ràng buộc liệu thao tác liệu thành thể thống Sự đóng gói gồm: * Bao gói: người dùng giao tiếp với hệ thống qua giao diện * Che dấu: ngăn chặn thao tác khơng phép từ bên ngồi Ưu điểm: + Quản lý thay đổi + Bảo vệ liệu 1.2.4 Sự kế thừa Là khả cho phép xây dựng lớp thừa hưởng thuộc tính lớp có Đặc điểm: •Lớp nhận bổ sung thêm thành phần •Hoặc định nghĩa lại thành phần lớp cha Các loại kế thừa: - Đơn kế thừa - Đa kế thừa void main() { Hinh *hinh; Tron tron(5); //Khai bao hinh tron ban kinh Chu_nhat ch_nhat(4,3); //Kh/bao chu nhat voi kich thuoc va hinh = &tron; cout Dien_tich() b) return a; else return b;} Có thể tiếp tục tạo nhiều định nghĩa hàm hồn tồn tương tự nhau, có kiểu liệu tham số, kiểu trả thay đổi C++ cho phép giải vấn đề cách định nghĩa khn hình hàm sau: template T max ( T a, T b) { if(a>b) return a ; else return b;} So với định nghĩa hàm thơng thường, có dịng bị thay đổi: template T max ( T a, T b) Trong đó: template xác định khn hình với tham số kiểu T T max ( T a, T b) nói max ( ) hàm với hai tham số hình thức kiểu T có giá trị trả kiểu T - Định nghĩa khuôn hình hàm: template ([ds tham số]) { //thân khn hình hàm } - Gọi hàm từ khn hình hàm: (đối số) Trong trùng tên khn hình hàm Ví dụ: int a, b ; float x, y ; max(a,b) ; max(x, y); Chương trình sau: #include template T max ( T a, T b) { if(a>b) return a; else return b;} main() { int a = 5, b = 3; float x =2.5, y= 6.5; cout

Ngày đăng: 23/05/2016, 18:44

Từ khóa liên quan

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

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

Tài liệu liên quan