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

36 466 6
Tài liệu lập trình hướng đối tượ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

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ọc 2H.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óm 3H.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ượng 4H.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 thi 6H.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ếp 7H.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 nhau 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ượ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ực 10H.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 9 H.Q. Thắng - C.T. Dũng BM CNPM 17 2. Đố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 UML H.Q. Thắng - C.T. Dũng BM CNPM 18 Đối tượng (object)  Đối tượng. .. cấu trúc d ữ liệu hoặc giải thuật tiêu biểu để xây d ự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óm ti ế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ũng B ộ mơn cơng nghệ phần mềm Đại học bách khoa Hà Nội H.Q. Thắng - C.T. Dũng BM CNPM 2 Mơ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ựng một mơ hình của một vài bộ phận trong thế giới thực 15 H.Q. Thắng - C.T. Dũng BM CNPM 29 Lớp Time trong C++ H.Q. Thắng - C.T. Dũng BM CNPM 30 Chương trình và các đối tượng: C++ 3 H.Q. Thắng - C.T. Dũng BM CNPM 5 Đề... đánh giá phần m ềm hướng đối tượng 11 H.Q. Thắng - C.T. Dũng BM CNPM 21 Đố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. H.Q. Thắng - C.T. Dũng BM CNPM 22 Lớ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ập h ợp các đối tượng tương tác với nhau 3. 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êng c ủa mình. 4. M ỗi đối tượng đều có dạng đặc trưng của lớp cá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 18 H.Q. Thắng - C.T. Dũng BM CNPM 35 4.... đoạn này chúng ta phát triể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 CNPM 44 9. 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ột trong các phương pháp hiệu quả nhất để phát tri ển phần mềm.  Nếu như quan trong nhất trong LTHDT là lớp và đố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ép chú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 CNPM 16 1. 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ên là 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 CNPM 19 Đối Tượng Thế Giới Thực (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 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 CNPM 20 Đối Tượng Phần Mềm (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 . 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

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

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.

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