0

Tài liệu lập trình hướng đối tượng

36 464 6
  • Tài liệu lập trình hướng đối tượng

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 16/08/2012, 15:51

Tài liệu lập trình hướng đối tượng 1Lập trình hướng đối tượngTS H.Q.Thắng, TS C.T.DũngBộ môn công nghệ phần mềmĐại học bách khoa Hà NộiH.Q. Thắng - C.T. Dũng BM CNPM2Môn học: Lập trình hướng đối tượngGiới thiệu về môn họcĐề cương chi tiết môn họcTài liệu tham khảo môn họcBài tập lớn môn họcThi và đánh giá môn học2H.Q. Thắng - C.T. Dũng BM CNPM3Giới thiệu về môn học•Mục đích môn học: Môn học này được giớithiệu cho sinh viên các kiến thức và kỹ thuậttrong LTHDT. Sinh viên sẽ tiếp cận vớiphương pháp luận, các kỹ năng, kỹ thuậttrong thiết kế và lập trình hướng đối tượng•Vị trí môn học: áp dụng cho sinh viên nămthứ 4 (học kỳ 7), CNTT. Trong môn học có sửdụng kiến thức của các môn học: Cấu trúc dữliệu và giải thuật, hệ điều hành, lý thuyếtngôn ngữH.Q. Thắng - C.T. Dũng BM CNPM4Giới thiệu về môn học (tiếp)Thời lượng môn học: 45 tiết lý thuyết đượcphân bổ trong 12 tuần. Sẽ có các bài tậptuần, sinh viên tự tham khảo tài liệu đượcgiaođể thực hiện bài tập lớn (đồ án mônhọc) ngay từ tuần 2 của cuối học kỳBài tập lớn môn (đồ án môn học): làm theonhóm, có bảo vệ làm theo nhóm3H.Q. Thắng - C.T. Dũng BM CNPM5Đề cương chi tiết môn họcChương 1. Tổng quan về lập trình hướngđối tượngChương 2. Các kỹ thuật làm việc vớihằng, biến, xây dựng và sử dụng hàmtrong LTHĐTChương 3. Các kỹ thuật cơ bản trongxây dựng lớpChương 4. Kỹ thuật thừa kế, kết tập vàđa hình trong LTHĐTH.Q. Thắng - C.T. Dũng BM CNPM6Đề cương chi tiết môn họcChương 5. Ngôn ngữ mô hình hóa UML và sử dụng trong LTHDTChương 6. Thiết kế khuôn mẫuChương 7. Các phép đo đánh giá phầnmềm hướng đối tượng4H.Q. Thắng - C.T. Dũng BM CNPM7Tài liệu tham khảo môn học[1]. Peter Coad, Jill Nicola; Object-Oriented Programming[2]. Harvey M. Deitel, Paul J. Deitel C++ How to Programing (5th Edition)[3]. Harvey M. Deitel, Paul J. Deitel How to Java Programing (5th Edition)[4]. Bruce Eckel - Thinking in C++ . Second Edition. MindView Inc., 2000. Có thể tải về từweb site: www.bruceeckel.com[5] Martin Fowler UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third EditionH.Q. Thắng - C.T. Dũng BM CNPM8Bài tập lớn (đồ án môn học)Đồ án môn học: Sinh viên được chia làmcác nhóm, mỗi nhóm chọn một cấu trúcdữ liệu hoặc giải thuật tiêu biểu để xâydựng phần mềm theo nguyên lý hướngđối tượng (công cụ tuỳ chọn).Yêu cầu của đồ án môn học: các nhómtiến hành mô tả và đánh giá phần mềmhướng đối tượng theo các tiêu chí5H.Q. Thắng - C.T. Dũng BM CNPM9Đánh giá môn họcCuối kỳ thi hết môn, thời gian 60-90 phútĐiểm đánh giá môn học:Điểm kiểm tra điều kiện: 20%Điểm thi: trọng số 40%Điểm đồ án môn học: trọng số 40%Điều kiện miễn thi: thực hiện tốt đồ ánmôn học và có những nghiên cứu sâu vềcác lĩnh vực trong CNTT. Đồ án môn họcthực hiện đúng theo các quy định chuẩncủa môn họcH.Q. Thắng - C.T. Dũng BM CNPM10Thảo luậnCác câu hỏi của sinh viên liên quan đếnnội dung môn học “Lập trình hướng đốitượng”Các câu hỏi của sinh viên liên quan đếnnội dung của bài tập lớn và phương phápthực hiện và bảo vệCác câu hỏi của sinh viên liên quan đếnnội dung thi6H.Q. Thắng - C.T. Dũng BM CNPM11Chương 1. Các khái niệm cơ bản trong Lậptrìnhhướng đối tượng (LTHDT)1. Lịch sử phát triển của các ngôn ngữ lậptrình2. Đối tượng và các khái niệm liên quan3. Khái niệm thực hiện ẩn (hidden implementation) trong LTHDT4. Khái niệm tái sử dụng trong LTHDT5. Khái niệm kế thừa trong LTHDT6. Khái niệm đa hình trong lập trình hướngđối tượngH.Q. Thắng - C.T. Dũng BM CNPM127. Khởi tạo và giải phóng đối tượng trong LTHDT8. Bắt lỗi và xử lý lỗi trong LTHDT9. Phân tích và thiết kế hướng đối tượng10. Extreme programming11. Tại sao ngôn ngữ C++ thông dụng12. Tại sao ngôn ngữ Java thông dụng13. Quá trình dịch một phần mềm14. Cácđặc điểm của công cụ biên dich độc lập15. Câu hỏi và bài tập tuần 1Chương 1. Các khái niệm cơ bản trong Lậptrìnhhướng đối tượng (LTHDT) tiếp7H.Q. Thắng - C.T. Dũng BM CNPM131. Lịch sử phát triển của các ngôn ngữ lậptrìnhTất cả các ngôn ngữ lập trình cho phép và yêucầu chúng ta phải trừu tượng hóa (abstraction). Trong tất cả các ngôn ngữ lập trình chúng ta đãtrực tiếp hoặc gián tiếp thực hiện trừu tượnghóa. Hợp ngữ (Assembly language) là một ngôn ngữ lậptrình tuần tự, gần với tập các lệnh mã máy của CPU vì thế khả năng trừu tượng hóa là rất nhỏ.Các ngôn ngữ lập trình cấu trúc khả năng trừu tượngđã tăng lên rất nhiều so với hợp ngữ. Tư tưỏng chính: tìm ra cách thể hiện bài toán cần giải quyết bằngnhững cấu trúc lập trình có trong các ngôn ngữ tươngứng. Phương pháp tiếp cận hướng logic (logic-oriented)H.Q. Thắng - C.T. Dũng BM CNPM141. Lịch sử phát triển của các ngôn ngữ lậptrìnhMong muốn tìm ra môt cách tiếp cận cho phép giảiquyết chung được số lượng lớn các bài toán.Phương pháp tiếp cận hướng đối tượng được coi làmột phương pháp tốt để phục vụ cho mục đích ấy.Chúng ta tiếp cận bài toán bằng cách thể hiện cácthành phần của bài toán là các “đối tượng” (object). Mỗi đối tượng có thể coi như một “thành phần sống”- có nghĩa là nó có trạng thái, có các hoạt động -thực hiện các thao tác nào đó. Các thao tác này thựchiện các chức năng của hệ thống.8H.Q. Thắng - C.T. Dũng BM CNPM15Trừu tượng hóaTrừu tượng hóa điều khiển (control abstraction): Một trong những đặc tính quan trọng của các ngôn ngữ lập trình.a = (1 + 2) * 5; Bao gồm trong đó khái niệm, trừu tượng hóa chức năngTrừu tượng hóa dữ liệu: Chỉ quan tâm dữliệu được sử dụng như thế nào, không quan tâm nó được biểu diễn cụ thể ra sao.H.Q. Thắng - C.T. Dũng BM CNPM161. Lịch sử phát triển của các ngôn ngữlập trìnhAlan Kay đã tổng hợp các đặc tính của LTHDT:1. Tất cả đều là đối tượng. 2. Chương trình phần mềm có thể coi là một tậphợp các đối tượng tương tác với nhau3. Mỗi đối tượng trong chương trình có các dữliệu độc lập của mình và chiếm bộ nhớ riêngcủa mình.4. Mỗi đối tượng đều có dạng đặc trưng của lớpcácđối tượng đó. 5. Tất cả các đối tượng thuộc về cùng một lớpđều có các hành vi giống nhau9H.Q. Thắng - C.T. Dũng BM CNPM172. Đối tượng và các khái niệm liên quanĐối tượngGiao diện của đối tượngLớp đối tượngThuộc tính đối tượngHành vi đối tượngGửi thông điệpBiểu điễn đối tượng - biểu đồ đối tượngvà biểu đồ lớp trong UMLH.Q. Thắng - C.T. Dũng BM CNPM18Đối tượng (object)Đối tượng làchìa khóađể hiểuđược kỹ thuậthướng đối tượngTrong hệ thốnghướng đối tượng, mọi thứ đều là đốitượngViết một chương trình hướng đối tượng nghĩa là đang xây dựngmột mô hình của một vài bộ phận trong thế giới thực10H.Q. Thắng - C.T. Dũng BM CNPM19Đối Tượng Thế Giới Thực (Real Object)Một đối tượng thế giới thực là một thựcthể cụ thể mà thông thường chúng ta 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)H.Q. Thắng - C.T. Dũng BM CNPM20Đối Tượng Phần Mềm (Software Object)Các đối tượng phần mềm có thể đượcdùngđể biểu diễn các đối tượng thế giớithự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)[...]... học Tài liệu tham khảo môn họcBài tập lớn môn họcThi và đánh giá môn học 9H.Q. Thắng - C.T. Dũng BM CNPM172. Đối tượng và các khái niệm liên quan Đối tượng Giao diện của đối tượng Lớp đối tượng Thuộc tính đối tượng Hành vi đối tượng Gửi thơng điệpBiểu điễn đối tượng - biểu đồ đối tượng và biểu đồ lớp trong UMLH.Q. Thắng - C.T. Dũng BM CNPM18 Đối tượng (object) Đối tượng. .. cấu trúcdữ liệu hoặc giải thuật tiêu biểu để xâydựng phần mềm theo nguyên lý hướng đối tượng (công cụ tuỳ chọn).u cầu của đồ án mơn học: các nhómtiến hành mô tả và đánh giá phần mềm hướng đối tượng theo các tiêu chí 1 Lập trình hướng đối tượng TS H.Q.Thắng, TS C.T.DũngBộ mơn cơng nghệ phần mềmĐại học bách khoa Hà NộiH.Q. Thắng - C.T. Dũng BM CNPM2Mơn học: Lập trình hướng đối tượng Giới... (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 xây dựngmột mơ hình của một vài bộ phận trong thế giới thực 15H.Q. Thắng - C.T. Dũng BM CNPM29Lớp Time trong C++H.Q. Thắng - C.T. Dũng BM CNPM30Chương trình và các đối tượng: C++ 3H.Q. Thắng - C.T. Dũng BM CNPM5Đề... đánh giá phầnmềm hướng đối tượng 11H.Q. Thắng - C.T. Dũng BM CNPM21 Đối tượng Đối tượng (object) là mộtthực thể phần mềm baobọc các thuộc tính và cácphương thức liên quan. Đối tượng phần mềm Đối tượng phần mềm Xe ĐạpThuộc tính được xác địnhbở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.H.Q. Thắng - C.T. Dũng BM CNPM22Lớp đối tượng Trong thế... LTHDT:1. Tất cả đều là đối tượng. 2. Chương trình phần mềm có thể coi là một tậphợp các đối tượng tương tác với nhau3. Mỗi đối tượng trong chương trình có các dữ liệu độc lập của mình và chiếm bộ nhớ riêngcủa mình.4. Mỗi đối tượng đều có dạng đặc trưng của lớpcác đối tượng đó. 5. Tất cả các đối tượng thuộc về cùng một lớpđều có các hành vi giống nhau 18H.Q. Thắng - C.T. Dũng BM CNPM354.... đoạn này chúng ta pháttriển các đối tượng, xem xét các tương tác giữa các đối tượng để hình thành hệ thống hoạt động.Bước 4. Mở rộng hệ thống (System extension).Khi chúng ta thêm vào các tính năng của hệ thống, chúng ta cần thêm các lớp mới, các đối tượng mới vàcác tương tác giữa các đối tượng này với các đối tượng đã có trong hệ thống.Bước 5. Tái sử dụng đối tượng (Object reuse).Đây là một... chính của chương trình. H.Q. Thắng - C.T. Dũng BM CNPM449. Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng là mộttrong cácphương pháp hiệu quả nhất để pháttriển phần mềm. Nếu như quan trong nhất trong LTHDT là lớpvà đối tượng thì từ đó chúng ta cũng cần cómột phướng pháp hướng đối tượng cho phépchúng ta phát triển các phần mềm tương ứng.Phương pháp luận (methodology)... các ngơn ngữ lập trình. a = (1 + 2) * 5; Bao gồm trong đó khái niệm, trừu tượng hóa chức năngTrừu tượng hóa dữ liệu: Chỉ quan tâm dữ liệu được sử dụng như thế nào, không quan tâm nó được biểu diễn cụ thể ra sao.H.Q. Thắng - C.T. Dũng BM CNPM161. Lịch sử phát triển của các ngơn ngữ lập trình Alan Kay đã tổng hợp các đặc tính của LTHDT:1. Tất cả đều là đối tượng. 2. Chương trình phần... lý do để ngôn ngữ C++ thông dụngMột trong những nguyên nhân C++ trở thành phổ biênlà nóđã chuyển ngơn ngữ lập trình C thành ngơn ngữ lập trình hướng đối tượng. C++ là ngôn ngữ kế thừa và mở rộng từ ngôn ngữ C, trên thực tế khơng đưa vào các mơ hình lập trình mới. Tất cả các chương trình đã có sẵn của C sẽ chạyđược trong C++C++ có những đặc tính phát triển tốt hơn ngơn ngữ C:TRong C++... Thắng - C.T. Dũng BM CNPM19 Đối Tượng Thế Giới Thực (Real Object)Một đối tượng thế giới thực là một thựcthể cụ thể mà thơng thường chúng ta 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)H.Q. Thắng - C.T. Dũng BM CNPM20 Đối Tượng Phần Mềm (Software Object)Các đối tượng phần mềm có thể đượcdùngđể biểu diễn các đối tượng thế giớithực.Cũng . CNPM1 8Đối tượng (object) Đối tượng làchìa khóađể hiểuđược kỹ thuậthướng đối tượng Trong hệ thốnghướng đối tượng, mọi thứ đều là đốitượngViết một chương trình. tượng Giao diện của đối tượng Lớp đối tượng Thuộc tính đối tượng Hành vi đối tượng Gửi thông điệpBiểu điễn đối tượng - biểu đồ đối tượngvà biểu đồ lớp
- Xem thêm -

Xem thêm: Tài liệu lập trình hướng đối tượng, Tài liệu lập trình hướng đối tượng, 1. Tổng quan về lập trình hướng đối tượng 2. Các kỹ thuật làm việc với hằng, biến, xây dựng và sử dụng hàm 3. Các kỹ thuật cơ bản trong xây dựng lớp 4. Kỹ thuật thừa kế, kết tập và đa hình trong LTHĐT 5. Ngơn ngữ mơ hình hóa UML và sử dụng trong LTHDT 6. , Lịch sử phát triển của các ngơn ngữ lập trình Đối tượng và các khái niệm liên quan, Khái niệm thực hiện ẩn trong LTHDT Khái niệm thực hiện ẩn trong LTHDT Khái niệm tái sử dụng trong LTHDT Khái niệm kế thừa trong LTHDT, Khái niệm kế thừa trong LTHDT Khái niệm đa hình trong LTHDT Khái niệm đa hình trong LTHDT Khái niệm đa hình trong LTHDT Khởi tạo và giải phóng đối tượng trong LTHDT, Bắt lỗi và xử lý lỗi trong LTHDT Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng, Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng Phân tích và thiết kế hướng đối tượng, Phân tích và thiết kế hướng đối tượng Extreme programming Extreme programming Extreme programming, Extreme programming Một số lý do để ngôn ngữ C++ thông dụng Một số lý do để ngôn ngữ C++ thông dụng, Các đặc điểm của q trình biên dich độc lập Các đặc điểm của q trình biên dich độc lập Các đặc điểm của q trình biên dich độc lập Ví dụ, câu hỏi, bài tập

Hình ảnh liên quan

đa hình trong LTHĐT - Tài liệu lập trình hướng đối tượng

a.

hình trong LTHĐT Xem tại trang 3 của tài liệu.
6. Khái niệm đa hình trong lập trình hướng - Tài liệu lập trình hướng đối tượng

6..

Khái niệm đa hình trong lập trình hướng Xem tại trang 6 của tài liệu.
6. Khái niệm đa hình trong LTHDT - Tài liệu lập trình hướng đối tượng

6..

Khái niệm đa hình trong LTHDT Xem tại trang 19 của tài liệu.
 “polymorphism” có nghia “nhiều hình thức”, hay “nhiều dạng sống” - Tài liệu lập trình hướng đối tượng

polymorphism.

” có nghia “nhiều hình thức”, hay “nhiều dạng sống” Xem tại trang 19 của tài liệu.
Đa hình - Tài liệu lập trình hướng đối tượng

a.

hình Xem tại trang 20 của tài liệu.
Đường Thẳng Hình Tròn - Tài liệu lập trình hướng đối tượng

ng.

Thẳng Hình Tròn Xem tại trang 20 của tài liệu.
đối tượng để hình thành hệ thống hoạt động. - Tài liệu lập trình hướng đối tượng

i.

tượng để hình thành hệ thống hoạt động Xem tại trang 26 của tài liệu.