- LỚP – KIỂU DỮ LIỆU TRỪU TƯỢNG CLASS – ABSTRACT DATA TYPE. - ADT : Khaí quát hóa một tập đối tượng thành một kiểu dữ liệu.. - 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.. - 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.. - Đ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ó.. - 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.. - 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. - Lớp: Hiện thực chung cho một tập các đối tượng có cùng đặc điểm và hành vi.. - Hiện thực code các hành vi.. - truy cập. - Định nghĩa biến đối tượng.. - Biến đối tượng trong Java là tham khảo (địa chỉ) của vùng nhớ chứa dữ liệu của đối tượng.. - Thí dụ 1. - Thí dụ 2. - Thí dụ 3. - Thí dụ 4. - của lớp VONGTRON. - Thí dụ 5. - Thí dụ 6. - Khi hiện thực hành vi của 1 lớp. - Thí dụ. - Overloading: Kỹ thuật cho phép xây dựng các hành vi trùng tên nhưng khác chữ ký (signature) trong cùng một lớp.. - 3 hành vi cùng có tên là. - 3.5- Hành vi khởi tạo (constructor). - Hành vi được thực thi ngay vào lúc khởi tạo đối tượng.. - Ngôn ngữ có sẵn 1 constructor chuẩn làm công việc xóa trống vùng nhớ chứa dữ liệu của đối tượng Trị 0/null.. - Tập các constructor hình thành các cách định nghĩa đối tượng.. - Định nghĩa một đối tượng không theo một mẫu constructor sẽ gây lỗi.. - Thí dụ: constructor của ngôn ngữ (gõ 3 phím). - Thí dụ: constructor là mẫu khởi tạo đối tượng. - Thí dụ: lớp có nhiều constructor. - Thí dụ: gọi hành vi trong constructor. - Việc thường làm là gán trị cho các thành phần dữ liệu của đối tượng.. - Số constructor có trong một lớp thường là những dạng dữ liệu của đối tượng mà ta muốn có ngay lúc ban đầu.. - Dùng để truy xuất dữ liệu hoặc hành vi kế thừa từ lớp cha.. - Xây dựng hành vi outData trong lớp con bằng cách gọi hành vi outData của lớp cha rồi xuất cost.. - Viết lại hành vi outData trong lớp con. - 3.7- Hành vi hủy (destructor). - Đối tượng sống kể từ khi ta khởi tạo đối tượng (bằng toán tử new) cho đến hết khối chứa nó.. - Khi ra khỏi khối chứa đối tượng, ta nói đối tượng đã chết.. - Thời gian sống của đối tượng. - Tầm vực (scope) của đối tượng. - C#) cho phép ta viết code sẽ được thực thi vào lúc đối tượng chết nhằm trả tài nguyên đã cấp phát động.. - Java chỉ dùng cách cấp phát đối tượng động, có trình gom rác riêng và không hỗ trợ hành vi hủy.. - 3.8- Thành phần static. - Đôi khi ta muốn một dữ liệu, một đoạn code, một hành vi là toàn cục để trongmột lớp Dùng chỉ thị static.. - Dữ liệu static là DỮ LIỆU TOÀN CỤC.. - Hành vi static là hành vi toàn cục. - Code static là CODE TOÀN CỤC và chỉ thao tác lên dữ liệu static.. - Truy xuất dữ liệu và code này thông qua tên lớp hoặc một đối tượng thuộc lớp có thành phần static.. - Dữ liệu static- Thí dụ. - Truy xuất static data bằng tên đối tượng thuộc lớp. - Hành vi static- Thí dụ. - Hành vi static được bên ngoài sử dụng mà không cần khai báo biến đối tượng thuộc lớp. - Do vậy, hành vi static thường có tham số không. - Code static- Thí dụ. - Code static chỉ tham khảo dữ liệu static. - Code static – thí dụ. - tham khảo khi chưa có đối tượng tham khảo khi đã có đối tượng. - Làm sao không cho phép sửa một dữ liệu ( muốn dữ liệu là hằng).. - final method là hành vi không cho phép lớp con viết lại (override). - Bài toán đơn giản -Thí dụ. - Mỗi động từ là 1 hành vi Type HànhVi. - thí dụ ở các chương sau class KháiNiệm1 { <data>. - <hành vi chung ở mức cả bài toán>. - Ta có thể truy xuất đoạn code static mà không là hành vi của 1 lớp không?. - Dữ liệu final là. - Hành vi final là hành vi. - Dữ liệu của các bài toán được đưa vào bài toán thông qua constructor. - Bài tập 2:Tương tự bài 1 nhưng thay vì mô tả lương bằng 1 con số, mô tả lương thông qua hệ số lương nhân với lương cơ bản là một dữ liệu static (xem lại thí dụ).. - 3.12.1- Lớp Object. - Định nghĩa các trạng thái cơ bản và các phương thức cơ bản của mọi lớp phải có như: So sánh nó với 1 đối tượng khác. - Hành vi hashCode() cho biết địa chỉ của dữ liệu của đối tượng.. - phải là địa chỉ của biến đối tượng. - Lớp có thành phần là lớp và địa chỉ biến đối tượng. - biến đối tượng a được đặt ở địa chỉ 20392474, có trị là địa chỉ ô nhớ 4565111. - Đối tượng b được để ở ô 26399554 có trị là thực thể ở 25358555 gồm 2 thành phần mang trị là đối tượng a và s1.. - Thực thể của lớp là một vùng nhớ chứa dữ liệu của thực thể.. - Biến đối tượng mang trị là một tham chiếu đến thực thể của lớp.. - là phép gán địa chỉ tham chiếu giữa 2 đối tượng.. - 3.12.2- Lớp String - chuỗi ký tự. - Thí dụ về lớp String. - Các hành vi của lớp String trả về chuỗi kết qủa thì sẽ trả về chuỗi mới còn chuỗi gốc không đổi.. - Các hành vi cũng tương tự như lớp String.. - Dữ liệu thuộc kiểu cơ bản như int, long, char. - chỉ là dữ liệu không có hành vi kết hợp.. - Wrapper , trong gói java.lang, là lớp bao lấy các kiểu dữ liệu cơ bản nhằm tạo ra tính OOP cho các kiểu cơ bản.. - Các hành vi của lớp Wrapper đa số là các hành vi static hiện thực các thao tác lên dữ liệu thuộc kiểu tương ứng.. - Biến thuộc lớp Wrapper chứa địa chỉ của dữ liệu.. - Documentation đ bi t v các ể ế ề hành vi c a các ủ wrapper class. - Wrapper-Thí dụ. - 3.12.4- Lớp Math. - Thí dụ:
Xem thử không khả dụng, vui lòng xem tại trang nguồn hoặc xem
Tóm tắt