Xem mẫu

  1. BỘ MÔN CÔNG NGHỆ PHẦN MỀM VIỆN CNTT & TT TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI om .c ng IT3100 co LẬP TRÌNH HƯỚNG an ĐỐI TƯỢNG th o ng du u Bài 01. Tổng quan về OOP cu 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Mục tiêu bài học om • Tìm hiểu tổng quan về Công nghệ lập trình hướng đối tượng .c • Khái niệm, Ưu điểm, vai trò, ứng dụng, Sự phát triển các ngôn ng ngữ lập trình co • Tìm hiểu về Đối tượng và lớp an • Đối tượng, trạng thái, hành vi th • Lớp, thuộc tính, phương thức ng • Tương tác giữa các đối tượng (thông điệp, giao diện) o • Tìm hiểu Ngôn ngữ lập trình Java du • Giới thiệu về Java, Nền tảng Java, Mô hình dịch Java u cu • Tính năng và ứng dụng của Java • Cài đặt môi trường lập trình 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Nội dung om 1. Công nghệ hướng đối tượng (HĐT) .c ng 2. Đối tượng và lớp co 3. Ngôn ngữ lập trình Java an 4. Cài đặt môi trường lập trình th o ng du u cu 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. om .c ng co an 1/ Công nghệ HĐT th o ng du u cu 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. 1.1. Kỹ thuật lập trình om • Kỹ thuật lập trình: Kỹ thuật thực thi một giải pháp .c phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên ng nền tảng một phương pháp luận (methodology) và co một hoặc nhiều ngôn ngữ lập trình phù hợp với yêu an cầu đặc thù của ứng dụng th • Ngôn ngữ lập trình ng • Là ngôn ngữ được chuẩn hóa o du • Cả con người và máy tính có thể đọc và hiểu được u • Sử dụng chương trình dịch tương ứng để biên dịch toàn cu bộ chương trình nguồn thành mã máy trước khi thực hiện 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. 1.2. Sự phát triển của ngôn ngữ lập trình om .c Lập trình Hướng thủ Hướng đối Ngôn ngữ máy tuần tự tục tượng ng co an th o ng du u cu Assembly language 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. "Tất cả mọi thứ đều là đối tượng" -Alan Kay 1.3. Lập trình hướng đối tượng om • Thể hiện các thành phần của bài toán là các “đối .c tượng” (object). ng co • Hướng đối tượng là một kỹ thuật để mô hình hóa an hệ thống thành nhiều đối tượng tương tác với th nhau ng House o Reality Tom Car Flower du u cu Object-oriented modeling drives Car Model House lives in gets Flower 7 CuuDuongThanCong.com Tom https://fb.com/tailieudientucntt
  8. 1.4 Công nghệ đối tượng (OOT) om • Công nghệ đối tượng là một tập các quy tắc (trừu .c tượng hóa, đóng gói, đa hình), các hướng dẫn để xây ng dựng phần mềm, cùng với ngôn ngữ, cơ sở dữ liệu và co các công cụ khác hỗ trợ các quy tắc này. an (Object Technology - A Manager’s Guide, Taylor, 1997) th ng • Các mốc chính của công nghệ đối tượng o du Simula C ++ The UML u cu 1967 Late 1980s 1996 1972 1991 2004 Smalltalk Java UML 2 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. 1.4.1 OOT được sử dụng ở đâu? om • Các hệ thống Client/Server và .c phát triển Web ng • Hệ nhúng (embedded system) co • Hệ thống thời gian thực (real- an th time) ng • Hệ thống phần mềm nói chung… o du u cu 4 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. 1.5. Các nguyên lý cơ bản của OOT om .c ng Hướng đối tượng co an th ng Đóng gói Thừa kế Đa hình tượng Trừu o hóa du u cu 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. 1.5.1 Trừu tượng hóa (Abstraction) om • Là quá trình loại bỏ đi các thông tin/tính chất cụ thể .c và giữ lại những thông tin/tính chất chung. ng co • Tập trung vào các đặc điểm cơ bản của thực thể, các an đặc điểm phân biệt nó với các loại thực thể khác. th • Phụ thuộc vào góc nhìn ng • Quan trọng trong ngữ cảnh này nhưng lại không có ý o du nghĩa nhiều trong ngữ cảnh khác. u cu 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Ví dụ: Trừu tượng hóa om .c Phụ thuộc vào góc nhìn ng co an th o ng du u cu 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. 1.5.2 Đóng gói (Encapsulation) om • Che giấu, ẩn đi chi tiết thực hiện bên trong .c • Cung cấp cho thế giới bên ngoài một giao diện ng co • Việc sử dụng không ảnh hưởng bởi chi tiết bên an trong. th o ng du u cu 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. 1.5.3. Thừa kế (Inheritance) om • Xếp hạng hay xếp thứ tự các mức trừu tượng vào .c một cấu trúc cây ng • Các phần tử ở cùng cấp trong sơ đồ phân cấp thì có co cùng mức trừu tượng hóa an th Gia tăng mức độ trừu tượng hóa ng Vehicle o du u cu Automobile Motorcycle Bus Giảm mức độ trừu tượng hóa Sedan Sports Car School Bus Luxury Bus 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. 1.5.4. Đa hình (polymorphism) om • Đa hình: “one name, many forms” .c • Nạp chồng phương thức: phương thức cùng tên, ng nhưng hoạt động khác nhau co • Add(int x, int y) an • Add(float x, float y) • Add(float x, float y, float z) th ng • Ghi đè phương thức (Method Overriding) o du • Một Intern (thực tập sinh) là một Intern, đồng thời cũng u có thể được xem là một Staff (nhân viên) cu • Phương thức quẹt thẻ của Intern khác với phương thức quẹt thẻ của Staff 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. om .c ng co an 2/ Đối tượng và lớp th o ng du u cu 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. 2.1 Đặc tính của LT HĐT om • Alan Kay đã tổng hợp các đặc tính của LT HĐT: .c 1. Tất cả đều là đối tượng ng co 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 an 3. Mỗi đối tượng trong chương trình có các dữ liệu độc th lập của mình và chiếm bộ nhớ riêng của mình. ng 4. Mỗi đối tượng đều có dạng đặc trưng của lớp các đối o du tượng đó u 5. Tất cả các đối tượng thuộc về cùng một lớp đều có các cu hành vi giống nhau 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. 2.2 Hướng cấu trúc vs. Hướng ĐT om • Hướng cấu trúc: .c • data structures + algorithms = Program ng • (cấu trúc dữ liệu + giải thuật = Chương trình) co • Hướng đối tượng: an th • objects + messages = Program ng • (đối tượng + thông điệp = Chương trình) o du u cu 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. 2.3 Đối tượng là gì? om • Đối tượng trong thế giới thực, là một thực thể cụ .c thể mà thông thường chúng ta có thể sờ, nhìn thấy ng hay cảm nhận được. co • Tất cả có trạng thái (state) và hành vi (behaviour) an th o ng du u cu 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. 2.3.1 Trạng thái và hành vi om • Trạng thái của một đối tượng • Hành vi quyết định đối tượng đó hành động và đáp trả như .c là một trong các điều kiện tại đó mà đối tượng tồn tại. thế nào đối với bên ngoài. ng • Trạng thái của một đối tượng • Hành vi nhìn thấy được của co có thể thay đổi theo thời một đối tượng được mô hình an gian. thành một tập các thông điệp th ng nó có thể đáp trả (các thao tác mà đối tượng đó thực o hiện). du u cu 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn