Chương 02: CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG doc

16 589 1
Chương 02: CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG doc

Đ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

Chương 02 CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Basic Concepts in OOP Slide 1/ Mục tiêu • Nắm vững số định nghĩa OOP bao gồm: – Trừu tượng hóa liệu – Lớp, đối tượng, thể – Thông điệp gửi thông điệp – Tính bao đóng – Tính kế thừa – Tính đa hình Slide 2/ Nội dung • • • • • • • Kiểu liệu trừu tượng (abstract data type) Lớp-thể hiện- biến đối tượng Thông điệp (message) Tính bao đóng (encapsulation) Tính kế thừa (inheritance) Tính tương ứng bội-đa hình (polymorphism) Lớp đối tượng Java Slide 3/ 2.1- Kiểu liệu trừu tượng • Abstract Data Type • Kết qủa việc khái qt hóa thực thể -3 Khái quát hóa Số nguyên ( int ) int, NGUOI, PERSON ADT Khái quát hóa attributes Danh từ chung ngôn ngữ tự nhiên Người ( PERSON ) Slide 4/ 2.2- Lớp, Thể hiện, Biến đối tượng • POP: ADT dạng struct + functions • OOP : class = • class: Hiện thực tập đối tượng (object) loại  Cùng mô tả, hành vi • Thể – instance: Một thông tin đối tượng có nhớ chương trình • Biến đối tượng (gọi tắt đối tượng): Tham chiếu đến thực thể lớp 1000 S 300 “Hello” 1000 String S=“Hello”; Slide 5/ 2.3- Thông điệp, thông báo - Message • Send a message: Yêu cầu đối tượng thực thi hành vi • Thí dụ: x HOCSINH < Name, Age> x.VietLyLich(); String S= x.getName(); int n= x.getAge(); Slide 6/ 2.4- Bao đóng - Encapsulation • Che dấu liệu • Bên tương tác với đối tượng qua số hành vi • Hành vi giao tiếp (public, interface methods): Hành vi giúp đối tượng giao tiếp với mơi trường • Hành vi riêng/nội (private, internal): hành vi xử lý liệu nội đối tượng) getTen() getNamSinh() getTenNguoiYeu() class NGƯỜI Tên NămSinh TênNgườiYêu TiêuHóa() Nuốt() Đi() Đứng() Chạy() Nhẩy() Slide 7/ Bao đóng class CIRLCE public int getX() public void setX(int xx) public int getY() public void setY(int yy) public int getR() int x, y, r; int BorderColor; int BkColor; Với khai báo này, bên ngồi truy cập thuộc tính mầu hay khơng? public void setR(int r) public double getPerimeter() public double getArea() Slide 8/ Gợi ý thiết kế lớp • Ta cần biết thơng tin đối tượng thuộc lớp  Dữ liệu mơ tả • Ta (bên ngồi) thực cần xử lý (động từ) đối tượng  Hành vi giao tiếp • Để có hành vi giao tiếp, có cần xử lý thêm mà bên ngồi khơng cần biết hay khơng?  Hành vi nội Slide 9/ Bài tập chỗ • Thiết kế lớp mô tả xử lý học sinh, biết học sinh phải học môn học Slide 10/ 2.5- Tính kế thừa- Inheritance • Kỹ thuật cho phép tái sử dụng code  Tiết kiệm cơng sức xây dựng + test • Một lớp thừa hưởng (data +code) từ lớp có • Quan hệ lớp cha-lớp • Thừa kế đơn (single inheritance): Một lớp có tối đa lớp cha • Thừa kế bội (đa thừa kế, multi-inheritance): Một lớp có nhiều lớp cha • Mỗi ngôn ngữ hỗ trợ khả thừa kế khác nhau: C++: đa thừa kế, Java, C#: đơn thừa kế Slide 11/ Thừa kế Để tương đương class PERSON quan hệ “là 1” Chỉ phải thực class STUDENT ID_Num Name YearOfBirth Address getID_Num() setID_Num(newID) ID_Num Name YearOfBirth Address getID_Num() setID_Num(newID) RollNum Score getScore() setSore(newScore) class STUDENT RollNum Score getScore() setSore(newScore) thừa kế tính chất riêng Con = Cha + tí Slide 12/ Kỹ thuật phân cấp thừa kế (1) Liệt kê đặc điểm đối tượng cần quan tâm (2) Tìm tập giao tính chất lớp, tách tập giao để xây dựng lớp cha (3) Đặt tên gọi có ý nghĩa cho lớp cha (4) Phần lại sau tách tập giao lớp Slide 13/ Thừa kế - Bài tập làm chỗ Phân tích phân cấp thừa kế cho lớp: • Hàng điện máy • Hàng sành sứ < mã hàng, tên hàng, nhà sản xuất, giá, loại nguyên liệu> • Hàng thực phẩm Slide 14/ Thừa kế- Bài tập nhà Phân tích phân cấp thừa kế cho đối tượng học viện: • Nhân viên quản lý • Nhân viên nghiên cứu • Nhân viên phục vụ Slide 15/ 2.6- Tính đa hình-Polymorphism • Kỹ thuật cho phép thay đổi nội dung hành vi lớp cha –con • Bản chất: Sửa code hành vi lớp cha để code khác • Thí dụ: Lớp SHAPE có hành vi Draw() ba lớp RECTANGLE, TRIANGLE, CIRCLE han2h vi phải thể khác Slide 16/ ... Biến đối tượng • POP: ADT dạng struct + functions • OOP : class = • class: Hiện thực tập đối tượng (object) loại  Cùng mô tả, hành vi • Thể – instance: Một thơng tin đối tượng. .. loại  Cùng mô tả, hành vi • Thể – instance: Một thơng tin đối tượng có nhớ chương trình • Biến đối tượng (gọi tắt đối tượng) : Tham chiếu đến thực thể lớp 1000 S 300 “Hello” 1000 String S=“Hello”;... đối tượng qua số hành vi • Hành vi giao tiếp (public, interface methods): Hành vi giúp đối tượng giao tiếp với môi trường • Hành vi riêng/nội (private, internal): hành vi xử lý liệu nội đối tượng)

Ngày đăng: 31/07/2014, 17:20

Từ khóa liên quan

Mục lục

  • Chương 02 CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Basic Concepts in OOP

  • Mục tiêu

  • Nội dung

  • 2.1- Kiểu dữ liệu trừu tượng

  • 2.2- Lớp, Thể hiện, Biến đối tượng

  • 2.3- Thông điệp, thông báo - Message

  • 2.4- Bao đóng - Encapsulation

  • Bao đóng.....

  • Gợi ý khi thiết kế một lớp

  • Bài tập tại chỗ

  • 2.5- Tính kế thừa- Inheritance

  • Thừa kế...

  • Kỹ thuật phân cấp thừa kế

  • Thừa kế - Bài tập làm tại chỗ

  • Thừa kế- Bài tập về nhà

  • 2.6- Tính đa hình-Polymorphism

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

Tài liệu liên quan