Bài giảng Lập trình hướng đối tượng với Java - Chương 2: Các khái niệm cơ bản về lập trình hướng đối tượng
lượt xem 5
download
Bài giảng cung cấp cho người học các kiến thức: Các khái niệm cơ bản về lập trình hướng đối tượng. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng với Java - Chương 2: Các khái niệm cơ bản về lập trình hướng đối tượng
- 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 một số định nghĩa trong OOP bao gồm: – Trừu tượng hóa dữ liệu. – Lớp, đối tượng, thể hiện. – Thông điệp và 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 dữ 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 và đối tượng trong Java Slide 3/
- 2.1- Kiểu dữ liệu trừu tượng • Abstract Data Type. • Kết qủa của việc khái quát hóa các thực thể. 1 5 7 Khái Số nguyên -3 8 .... quát ( int ) hóa int, NGUOI, PERSON Danh từ chung trong là các ADT ngôn ngữ tự nhiên Người Khái ( PERSON ) quát Slide 4/
- 2.2- Lớp, Thể hiện, Biến đối tượng • POP: ADT dạng struct + các functions • OOP : class = “Hello” 1000 • class: Hiện thực của một tập các đối tượng (object) cùng loại Cùng mô tả, cùng hành vi. • Thể hiện – instance: Một thông tin về một đối tượng có trong bộ nhớ của chương trình. • Biến đối tượng (gọi tắt là đối tượng): Tham chiếu đến một S 300 1000 thực thể của lớp. String S=“Hello”; Slide 5/
- 2.3- Thông điệp, thông báo - Message • Send a message: Yêu cầu 1 đối tượng thực thi một hành vi. • Thí dụ: x là một HOCSINH < Name, Age> x.VietLyLich(); String S= x.getName(); int n= x.getAge(); Slide 6/
- 2.4- Bao đóng - Encapsulation • Che dấu đi dữ liệu. • Bên ngoài chỉ tương tác class NGƯỜI được với đối tượng qua Tên một số hành vi. NămSinh getTen() • Hành vi giao tiếp (public, TênNgườiYêu interface methods): .... Hành vi giúp đối tượng getNamSinh() TiêuHóa() giao tiếp với môi trường. Nuốt() • Hành vi riêng/nội getTenNguoiYeu() Đi() (private, internal): hành Đứng() vi xử lý dữ liệu nội tại Chạy() của đối tượng). Nhẩy() ....... Slide 7/
- Bao đóng..... class CIRLCE Với khai báo này, public int getX() bên ngoài có thể public void setX(int xx) truy cập 2 thuộc tính mầu hay không? public int getY() int x, y, r; public void setY(int yy) int BorderColor; public int getR() int BkColor; public void setR(int r) public double getPerimeter() public double getArea() Slide 8/
- Gợi ý khi thiết kế một lớp • Ta cần biết những thông tin gì về một đối tượng thuộc lớp này. Dữ liệu mô tả. • Ta (bên ngoài) thực sự cần xử lý gì (động từ) trên đối tượng Hành vi giao tiếp. • Để có được hành vi giao tiếp, có cần những xử lý thêm mà bên ngoài không cần biết hay không? Hành vi nội. Slide 9/
- Bài tập tại chỗ • Thiết kế lớp mô tả và xử lý một học sinh, biết rằng học sinh phải học 3 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 được thừa hưởng (data +code) từ lớp đã có. • Quan hệ lớp cha-lớp con. • Thừa kế đơn (single inheritance): Một lớp chỉ có thể có tối đa một lớp cha. • Thừa kế bội (đa thừa kế, multi-inheritance): Một lớp chỉ có thể có nhiều lớp cha. • Mỗi ngôn ngữ hỗ trợ khả năng thừa kế khác nhau: C++: đa thừa kế, Java, C#: đơn thừa kế. Slide 11/
- Thừa kế... Để được cái tương đương class PERSON class STUDENT ID_Num ID_Num Name Name YearOfBirth thừa YearOfBirth Address kế Address getID_Num() getID_Num() setID_Num(newID) setID_Num(newID) ...... ...... quan hệ “là 1” RollNum tính Score class STUDENT chất getScore() RollNum riêng setSore(newScore) Chỉ phải Score ...... hiện thực getScore() bằng này setSore(newScore) ...... Con = Cha + một tí Slide 12/
- Kỹ thuật phân cấp thừa kế (1) Liệt kê đặc điểm của các đối tượng cần quan tâm. (2) Tìm tập giao của các tính chất giữa các lớp, tách tập giao này để xây dựng lớp cha. (3) Đặt 1 tên gọi có ý nghĩa cho lớp cha. (4) Phần còn lại sau khi tách tập giao là các lớp con. Slide 13/
- Thừa kế - Bài tập làm tại chỗ Phân tích phân cấp thừa kế cho các 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 về nhà Phân tích phân cấp thừa kế cho các đối tượng trong một 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 của cùng một hành vi trong 2 lớp cha –con. • Bản chất: Sửa code của cùng một hành vi ở 2 lớp cha con để các code này khác nhau. • Thí dụ: Lớp SHAPE có hành vi Draw() nhưng ở ba lớp con RECTANGLE, TRIANGLE, CIRCLE han2h vi này phải được thể hiện khác nhau Slide 16/
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 141 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 104 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 102 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 90 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 105 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 140 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 16 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn