NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 3
lượt xem 32
download
Instance: Một mô tả của đối tượng trong bộ nhớ của chương trình.Ba khái niệm cơ bản trong OOP: Đóng gói, Thừa kế, đa hình.Đóng gói (encapsulation) : Gói dữ liệu + hành vi (code)
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 3
- LỚP & KIỂU DỮ LIỆU TRỪU TƯỢNG Slide 1/81 1 Chương 03- Lớp – Kiểu dữ liệu trừu tượng
- Ôn tập & & VC VC BB BB ADT : Khaí quát hóa một tập đối tượng thành một kiểu dữ liệu. ADT có thể là một cấu trúc hoặc một class. Object = các thuộc tính mô tả (thành phần dữ liệu)+ các hành vi (thành phần hàm) class: ADT cho một tập các đối tượng tương tự nhau (cùng data, cùng functions). Instance: Một mô tả của đối tượng trong bộ nhớ của chương trình. Ba khái niệm cơ bản trong OOP: Đóng gói, Thừa kế, đa hình. Đóng gói (encapsulation) : Gói dữ liệu + hành vi (code), bên ngoài chỉ có thể truy cập một số thuộc tính hoặc hành vi của đối tượng của một lớp thông qua các công cụ giao tiếp. Thừa kế: Một lớp có thể thừa hưởng dữ liệu và hành vi của lớp cha. Một ngôn ngữ OOP có thể hỗ trợ đơn thừa kế hoặc đa thừa kế. Đa hình: Khả năng cho phép viết lại code của một hành vi được thừa kế để tạo ra những khác biệt trong ứng xử giữa lớp cha và lớp con cho cùng một hành vi. Gửi thông điệp là yêu cầu một đối tượng thực thi một hành vi mà đối tượng này có. Slide 2/81 2 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & Mục tiêu & VC VC BB BB Nắm vững cấu trúc của một lớp. Nắm vững các chỉ thị truy cập. Giải thích được constructor và destructor. Giải thích được khái niệm đối tượng hiện hành. Truy cập thành phần thừa kế từ lớp cha. Hiện thực được lớp bằng Java. Slide 3/81 3 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & Nội dung & VC VC BB BB 3.1- Cấu trúc 1 lớp và access modifiers 3.2- Sử dụng một lớp 3.3- Chỉ thị this 3.4- Overloading một hành vi 3.5- Hành vi khởi tạo (constructor) 3.6- Chỉ thị super 3.7- Hành vi hủy (destructor) 3.8- Thành phần static 3.9 – Chạy ứng dụng Java có tham số 3.10- Một số lớp cơ bản của Java Slide 4/81 4 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- 3. Cấu trúc 1 lớp và access modifiers & & VC VC BB BB Lớp: Đại diện cho một tập các đối tượng có cùng đặc điểm và hành vi. Một lớp có thể là lớp con của một lớp đã có. Hiện thực lớp: Khai báo mức cho phép sử dụng. Khai báo lớp cha Khai báo các thành phần thuộc tính. Hiện thực code các hành vi. Lớp và mỗi thành phần cần phải chỉ định mức độ cho phép truy cập (tính bảo mật) access modifier Mỗi ngôn ngữ OOP quy định cú pháp riêng cho việc hiện thực lớp. Slide 5/81 5 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & class A Cấu trúc một lớp VC VC BB BB là con Access Modifiers Slide 6/81 6 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- Cú pháp khai báo class trong Java & & VC VC BB BB [Modifier] class CLASSNAME [extends FATHERCLASSNAME] { [Modifier] DataType1 Property1 [=Value]; [Modifier] DataType2 Property2 [=Value]; [Modifier] DataType MethodName( DataType Arg,…) { } } Không có modifier : Mặc định là friendly, cho phép các đối tượng thuộc các class cùng package ( cùng thư mục)truy cập Slide 7/81 7 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & VC Đặc tính truy xuất VC BB BB Modifier private friendly protected public Cùng class YES YES YES YES Cùng gói, khác NO YES YES YES class lớp con trong NO YES YES YES cùng gói với lớp cha Khác gói, khác NO NO NO YES l ớp Lớp con khác NO NO YES YES gói với lớp cha Slide 8/81 8 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- Ví dụ 1 & & VC VC BB BB Error Lớp public thì tên file.java phải trùng với tên lớp Vì khi bên ngoài truy cập, nhìn tên file là biết tên lớp Nếu không là lớp public, tên lớp và tên file có thể khác nhau Vì lớp này chỉ dùng trong một gói (package) Slide 9/81 9 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Ví dụ 2 VC VC BB BB từ khóa this để chỉ đối tượng đang thao tác. Nhờ đó phân biệt được tham số x và thành phần x Slide 10/81 10 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & VC Ví dụ 3 VC BB BB access modifier là private mà trong main vẫn truy cập được vì main nằm trong cùng lớp Slide 11/81 11 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Ví dụ 4 VC VC BB BB Sửa lại lớp VONGTRON: không có main Xây dựng lớp SDVT sử dụng lớp VONGTRON để trong cùng thư mục. Biên dịch có lỗi vì trong lớp SDVT không thể truy cập private method của lớp VONGTRON Slide 12/81 12 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Thí dụ 5 VC VC BB BB Lớp SDVT truy cập trực tiếp được thuộc tính x của vong tròn v vì khai báo thuộc tính này là “friendly” – không chỉ định modifier. Hai file này cùng thư mục nên SDVT truy cập được thuộc tính này. Slide 13/81 13 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & Ví dụ 6 & VC VC BB BB Trong lớp VONGTRON, x,y,r có thuộc tính protected. Nhưng, lớp SDVT cùng thư mục với lớp VONGTRON nên có thể truy cập thuộc tính này. Slide 14/81 14 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & Chỉ thị this & VC VC BB BB Đại diện cho đối tượng, dùng để truy xuất một thành phần của đối tượng this.tênThànhPhần. Khi tham số trùng với tên thuộc tính thì nhờ từ khóa this chúng ta phân biệt rõ thuộc tính với tham số. Slide 15/81 15 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Ví dụ VC VC BB BB Slide 16/81 16 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Ví dụ VC VC BB BB Truy cập thành phần Truy cập thành phần qua từ khóa this không qua từ khóa this Slide 17/81 17 Chương 03 Lớp – Kiểu dữ liệu trừu tượng
- & & Biến thể hiện (instance variables) VC VC BB BB Giá trị của biến định nghĩa trạng thái của đối tượng. Tất cả các đối tượng của cùng 1 lớp có cùng các biến thể hiện Có thể có các giá trị khác nhau chứa trong các biến thể hiện. Có bổ từ truy xuất “access modifier” liên quan đến các biến. 18
- & Ví dụ về biến thể hiện & VC VC BB BB recA recB length = 3.0 length = 6.4 width = 4.0 width = 4.7 19
- & & Bổ từ truy xuất (Access modifier) VC VC BB BB Chỉ rõ mức truy xuất được phép tới các thành phần dữ liệu (data members) và tới các phương thức (methods) của đối tượng. 1. public: Có thể được truy xuất tại bất cứ chỗ nào trong các lớp khác 1. protected Chỉ được truy xuất trong các lớp con của lớp đó hoặc của các lớp trong cùng 1 gói (package) 1. private Chỉ được truy xuất trong chính lớp mà nó được định nghĩa 1. No name (default) Chỉ được truy xuất trong các lớp con của lop đó và năm trong cùng một gói 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Nhập môn ngôn ngữ lập trình C++
505 p | 319 | 131
-
Môn: Lập trình hướng đối tượng
3 p | 403 | 79
-
NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 1
23 p | 292 | 64
-
Giáo trình môn học Lập trình hướng đối tượng - Lê Thị Mỹ Hạnh (Biên soạn)
165 p | 253 | 53
-
Lập trình Java: Chương 0: Nhập môn lập trình hướng đối tượng
25 p | 167 | 42
-
NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 8
47 p | 141 | 23
-
Nhập môn lập trình đối tượng
25 p | 126 | 23
-
NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - CHƯƠNG 5
15 p | 114 | 22
-
Thực tập Lập trình hướng đối tượng
8 p | 153 | 16
-
Bài giảng Lập trình hướng đối tượng - Chương 2: Đối tượng và lớp
21 p | 171 | 15
-
CHƯƠNG 1: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
12 p | 110 | 10
-
Bài giảng Lập trình hướng đối tượng - Chương 3: Kế thừa
18 p | 135 | 10
-
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 | 140 | 9
-
Bài giảng Nhập môn lập trình Java: Bài 1 - Võ Tấn Dũng
50 p | 81 | 7
-
Bài giảng Nhập môn lập trình Java: Bài 3 - Võ Tấn Dũng
54 p | 95 | 7
-
Bài giảng môn Lập trình hướng đối tượng - Chương 7: Nhập xuất trên Java
49 p | 79 | 6
-
Bài giảng Lập trình hướng đối tượng với Java - Chương 1: Nhập môn Lập trình hướng đối tượng
25 p | 75 | 5
-
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 | 139 | 4
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