Bài giảng điện tử môn tin học lập trình hướng đối tượng với c

29 353 0
Bài giảng điện tử môn tin học  lập trình hướng đối tượng với c

Đ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 Lập trình hướng đối tượng với C++ GV: Hà Văn HàSang Văn Sang Khoa HTTT – HVTC Khoa HTTT, Email: sanghv@gmail.com Homepage: www.hvtc.edu.vn/sanghv Academy Of Finance, Hanoi 2008-2009 sanghv@hvtc.edu.vn Chương I Object Oriented Programing– Information Systems Department Giới thiệu Tổng quan  Lập trình hướng đối tượng    Được xem là:     Lập trình định hướng đối tượng Object Oriented Programming (OOP) 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:   Giảm bớt thao tác viết trình Mô tả chân thực giới thực Vậy OOP khó học hay dễ học ? Object Oriented Programing– Information Systems Department Tổng quan kỹ thuật lập trình      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 lập trình cấu trúc 1.5 Lập trình hướng đối tượng Object Oriented Programing– Information Systems Department 1.1 Lập trình tuyến tính Lập • • Đặc • • • trình tuyến tính : Còn gọi lập trình phi cấu trúc Giải toán tương nhỏ, đối đơn giản điểm: Chỉ gồm chương trình Gồm dãy câu lệnh Chương trình ngắn, 100 dòng Object Oriented Programing– Information Systems Department 1.1 Lập trình tuyến tính (tiếp) 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 toà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 Object Oriented Programing– Information Systems Department 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 toàn cục Object Oriented Programing– Information Systems Department 1.2 Lập trình cấu trúc (tiếp) Xuất khái niệm trừu tượng hoá  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 hoá liệu Trừu tượng hoá thao tác Ngôn ngữ lập trình cấu trúc:    C, Pascal Foxpro … Object Oriented Programing– Information Systems Department 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 Object Oriented Programing– Information Systems Department 1.4 Nhược điểm lập trình truyền thống Nhược điểm:       Chương trình khó kiểm soá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ế Object Oriented Programing– Information Systems Department 10 2.2 Đối tượng (Object) Là 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 Được định nghĩa thể lớp Chính thực thể hệ thống hướng đối tượng Một đối tượng đóng gói thành phần:      Trạng thái (state) hay liệu Các ứng xử (behavior) hay hành vi, thao tác Object Oriented Programing– Information Systems Department 15 2.3 Thuộc tính & phương thức Thuộc tính bao gồm:    Hằng, biến Tham số nội Thuộc tính xác định kiểu, gồm:    Kiểu cổ điển Kiểu người dùng định nghĩa Phương thức là:     Các hàm nội đối tượng Có kiểu trả Tên gọi khác: hàm thành viên Object Oriented Programing– Information Systems Department 16 2.4 Lớp (Class) & Lớp (SubClass) Lớp: tập hợp đối tượng có thuộc tính hành vi Là 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 Lớp sử dụng kiểu liệu người dùng định nghĩa Lớp con:     Là lớp thông thường Có thêm tính chất kế thừa đặc tính lớp khác Object Oriented Programing– Information Systems Department 17 2.5 Lớp trừu tượng Là lớp mà trở thành lớp thực tế Được thiết kế nhằm tạo lớp có đặc tính tổng quát Bản thân chưa có ý nghĩa nên chưa thể viết mã cho đối tượng Ví dụ:       Lớp hình phẳng Lớp động vật Object Oriented Programing– Information Systems Department 18 2.6 Truyền thông điệp Thông điệp:   Là phương tiện để đối tượng chuyển yêu cầu tới đối tượng khác Một thông điệp bao gồm:     Handle đối tượng đích (đối tượng chủ) Tên phương thức cần thực Các thông tin cần thiết khác (tham số) Hệ thống yêu cầu đối tượng thực phương thức sau:     Gửi thông báo tham số cho đối tượng Kiểm tra tính hợp lệ thông báo Gọi thực hàm tương ứng phương thức Object Oriented Programing– Information Systems Department 19 2.7 Sự trừu tượng hoá Khái niệm:   Là khả bỏ qua hay không để ý tới thành phần không quan trọng Các loại trừu tượng hoá:    Trừu tượng hoá liệu: không quan tâm chi tiết không quan trọng bên Trừu tượng hoá chức năng: không quan tâm làm để thực công việc Tóm lại:    Chỉ quan tâm tới đặc điểm quan trọng Bỏ qua chi tiết không liên quan Object Oriented Programing– Information Systems Department 20 2.8 Sự đóng gói Khái niệm:   Là chế ràng buộc liệu thao tác liệu thành thể thống Đó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 Ưu điểm:    Quản lý thay đổi Bảo vệ liệu Object Oriented Programing– Information Systems Department 21 2.9 Sự kế thừa Khái niệm:   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ành phần Hoặc định nghĩa thuộc tính lớp cha Các loại kế thừa:    Đơn kế thừa Đa kế thừa Object Oriented Programing– Information Systems Department 22 2.10 Sự đa hình Khái niệm:   Khả đưa phương thức có tên lớp Thực bởi:    Định nghĩa lại Nạp chồng Cơ chế dựa kết gán:    Kết gán sớm Kết gán muộn Object Oriented Programing– Information Systems Department 23 Các bước thiết kế chương trình OOP Các bước chính:      Xác định dạng đối tượng (lớp) Tìm liệu dùng chung, chia xẻ Xác định lớp sở dựa vào liệu dùng chung Xây dựng lớp dẫn xuất từ lớp sở Object Oriented Programing– Information Systems Department 24 Ưu điểm OOP Ưu điểm chính:        Loại bỏ đoạn mã lặp lại Tạo chương trình an toàn, bảo mật Dễ dàng mở rộng nâng cấp Rút ngắn thời gian xây dựng hệ thống Tăng xuất hiệu Chương trình thiết kế theo qui trình Object Oriented Programing– Information Systems Department 25 Một số ngôn ngữ OOP Hầu hết ngôn ngữ lập trình hỗ trợ OOP, chia thành loại:   Ngôn ngữ hỗ trợ hướng đối tượng:   Object C, Pascal, C++, Delphi… Ngôn ngữ hướng đối tượng:  SmallTalk, JAVA Một số ngôn ngữ OOPhiện nay:    Visual C++ VB.NET, C# Object Oriented Programing– Information Systems Department 26 Ứng dụng OOP Dùng để phát triển phần mềm nhiều lĩnh vực khác nhau:   Ví dụ: hệ điều hành Windows Lĩnh vực chính:       Hệ thống thời gian thực Cơ sở liệu hướng đối tượng Hệ siêu văn bản, đa phương tiện Trí tuệ nhân tạo Lập trình song song, mạng nơron … Object Oriented Programing– Information Systems Department 27 Bài tập Sử dụng TC++ để lập trình: Tìm Min, Max dãy n số nguyên, thực Tính tổng S=1+1/2+…+1/n Sắp xếp dãy n số nguyên, thực phương pháp: Selection, Insert, Bubble, Quick sort, merge sort Quản lý danh sách n sinh viên thông tin gồm: họ tên, ngày sinh, gt, toán, lý, hóa, đtb Viết hàm/thủ tục nhập danh sách, in danh sách, xếp theo họ tên, đtb Object Oriented Programing– Information Systems Department 28 Qui cách nộp Gửi Email tới địa chỉ: sanghv@gmail.com Tiêu đề (Subject): [Lớp][BT1][Ho_va_Ten][Ngày sinh] Ví dụ: [K44/41.01][BT1][Nguyen_Van_A][xx/xx/xxxx] Đính kèm làm (nên zip lại thành thư mục) Object Oriented Programing– Information Systems Department 29 [...]... Department 13 2.1 Hệ thống hướng đối tượng Là hệ thống c đ c điểm sau:   Gồm tập hợp c c đối tượng  Sự đóng gói c a 2 thành phần:     Dữ liệu (thu c tính c a đối tượng) C c thao t c trên dữ liệu C c đối tượng c thể kế thừa c c đ c tính c a đối tượng kh c Hoạt động thông qua sự tương t c giữa c c đối tượng nhờ c chế truyền thông điệp   Thông báo Gửi & nhận thông báo Object Oriented Programing–...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) Object... nó chưa c ý nghĩa nên chưa thể viết mã cho đối tượng Ví dụ:       Lớp hình phẳng Lớp động vật Object Oriented Programing– Information Systems Department 18 2.6 Truyền thông điệp Thông điệp:   Là phương tiện để đối tượng này chuyển yêu c u tới đối tượng kh c Một thông điệp bao gồm:     Handle c a đối tượng đích (đối tượng chủ) Tên phương th c cần th c hiện C c thông tin c n thiết kh c (tham... Department 14 2.2 Đối tượng (Object) Là khái niệm trừu tượng phản ánh c c th c thể trong thế giới th c    C thể là một th c thể vật lý C thể là một khái niệm trừu tượng Đư c định nghĩa là sự thể hiện c a một lớp Chính là c c th c thể trong hệ thống hướng đối tượng Một đối tượng là sự đóng gói 2 thành phần:      Trạng thái (state) hay dữ liệu C c ứng xử (behavior) hay hành vi, thao t c Object Oriented... Thu c tính & phương th c Thu c tính bao gồm:    Hằng, biến Tham số nội tại Thu c tính đư c x c định kiểu, gồm:    Kiểu c điển Kiểu do người dùng định nghĩa Phương th c là:     C c hàm nội tại c a đối tượng C kiểu trả về Tên gọi kh c: hàm thành viên Object Oriented Programing– Information Systems Department 16 2.4 Lớp (Class) & Lớp con (SubClass) Lớp: là tập hợp c c đối tượng c c ng thu c. .. kế chương trình OOP C c bư c chính:      X c định c c dạng đối tượng (lớp) Tìm dữ liệu dùng chung, chia xẻ X c định lớp c sở dựa vào dữ liệu dùng chung Xây dựng lớp dẫn xuất từ lớp c sở Object Oriented Programing– Information Systems Department 24 4 Ưu điểm c a OOP Ưu điểm chính:        Loại bỏ c c đoạn mã lặp lại Tạo ra c c chương trình an toàn, bảo mật Dễ dàng mở rộng và nâng c p Rút... tiếp với hệ thống qua giao diện Che dấu: ngăn chặn c c thao t c không đư c phép từ bên ngoài Ưu điểm:    Quản lý sự thay đổi Bảo vệ dữ liệu Object Oriented Programing– Information Systems Department 21 2.9 Sự kế thừa Khái niệm:   Khả năng cho phép xây dựng lớp mới đư c thừa hưởng c c thu c tính c a lớp đã c Đ c điểm:    Lớp nhận đư c có thể bổ sung c c thành phần Ho c định nghĩa là c c thu c. .. hiệu quả hơn Chương trình đư c thiết kế theo đúng qui trình Object Oriented Programing– Information Systems Department 25 5 Một số ngôn ngữ OOP Hầu hết c c ngôn ngữ lập trình đều hỗ trợ OOP, c thể chia thành 2 loại:   Ngôn ngữ hỗ trợ hướng đối tượng:   Object C, Pascal, C+ +, Delphi… Ngôn ngữ hướng đối tượng:  SmallTalk, JAVA Một số ngôn ngữ OOPhiện nay:    Visual C+ + VB.NET, C# Object Oriented... tượng hoá dữ liệu: không quan tâm c c chi tiết không quan trọng bên trong Trừu tượng hoá ch c năng: không quan tâm làm thế nào để th c hiện c ng vi c Tóm lại:    Chỉ quan tâm tới đ c điểm quan trọng Bỏ qua c c chi tiết không liên quan Object Oriented Programing– Information Systems Department 20 2.8 Sự đóng gói Khái niệm:   Là c chế ràng bu c dữ liệu và c c thao t c trên dữ liệu thành thể thống... ho c bản mẫu mô tả một c u tr c dữ liệu gồm:     C c thành phần dữ liệu C c phương th c Lớp đư c sử dụng như kiểu dữ liệu người dùng định nghĩa Lớp con:     Là lớp thông thường C thêm tính chất kế thừa đ c tính c a lớp kh c Object Oriented Programing– Information Systems Department 17 2.5 Lớp trừu tượng Là lớp mà nó không thể trở thành một lớp th c tế nào Đư c thiết kế nhằm tạo ra lớp c đặc ... Tổng quan kỹ thuật lập trình      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 lập trình c u tr c 1.5 Lập trình hướng đối tượng Object Oriented Programing–... 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 toàn c c Object Oriented... phương tiện để đối tượng chuyển yêu c u tới đối tượng kh c Một thông điệp bao gồm:     Handle đối tượng đích (đối tượng chủ) Tên phương th c cần th c C c thông tin c n thiết kh c (tham số) Hệ

Ngày đăng: 03/12/2015, 23:01

Từ khóa liên quan

Mục lục

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

  • Chương I

  • Giới thiệu

  • 1. Tổng quan về các kỹ thuật lập trình

  • 1.1 Lập trình tuyến tính

  • 1.1 Lập trình tuyến tính (tiếp)

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

  • 1.2 Lập trình cấu trúc (tiếp)

  • 1.3 Lập trình môđun

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

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

  • Slide 12

  • 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 (Object)

  • 2.3 Thuộc tính & phương thức

  • 2.4 Lớp (Class) & Lớp con (SubClass)

  • 2.5 Lớp trừu tượng

  • 2.6 Truyền thông điệp

  • 2.7 Sự trừu tượng hoá

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

Tài liệu liên quan