Hướng dẫn lập trình hướng đối tượng trong hệ điều hành Java phần 3

6 28 0
Hướng dẫn lập trình hướng đối tượng trong hệ điều hành Java phần 3

Đang tải... (xem toàn văn)

Thông tin tài liệu

Đối tượng là một mô hình thực, trong khi lớp là một mô hình khái niệm - định nghĩa tất cả các thuộc tính và các phương thức được đòi hỏi của một đối tượng. Tất cả các đối tượng thuộc về cùng một lớp có cùng các thuộc tính và các phương thức.

1.5 Lớp Đối tượng Có khác biệt thực lớp đối tượng Cần nhận thức rõ khác biệt Một lớp định nghĩa thực thể, đối tượng trường hợp thực thể Đối tượng mơ hình thực, lớp mơ hình khái niệm - định nghĩa tất thuộc tính phương thức địi hỏi đối tượng Tất đối tượng thuộc lớp có thuộc tính phương thức Một lớp nguyên mẫu đối tượng Nó xác định hành động khả thi thuộc tính cần thiết cho nhóm đối tượng đặc thù 1.6 Thiết lập (Construction) Hủy (Destruction) 1.6.1 Thiết lập Một lớp cung cấp định nghĩa thuộc tính phương thức khả thi Các thuộc tính phương thức truy cập đối tượng dựa lớp tạo Khi đối tượng tạo, thuộc tính trở nên thực gán giá trị Tương tự, phương thức định nghĩa áp dụng Định nghĩa Thiết lập tiến trình thực hóa đối tượng Hàm thiết lập phương thức đặc biệt phải gọi trước sử dụng phương thức lớp Hàm Thiết lập khởi tạo thuộc tính, cấp phát nhớ máy tính cần thiết Mỗi lớp có hàm thiết lập Khảo sát lại trường hợp cửa hàng bán xe Ngay từ lúc đầu định nghĩa lớp Cho đến khách hàng mua xe cửa hàng đối tượng giống lớp ‘Khách hàng’ tạo Khi đối tượng tạo, số khoảng trống nhớ cấp phát cho thuộc tính để lưu trữ giá trị gán cho thuộc tính (‘Tên’, ‘Địa chỉ’ …) Hàm thiết lập thực việc cấp phát Vào lúc này, thuộc tính phương thức đối tượng sẵn sàng để sử dụng Tương tự trường hợp học sinh nhập học trường học Khi học sinh nhập học, vài hành động thực để nhận học sinh vào trường Đó là: Xếp lớp cho học sinh Ghi tên học sinh vào danh sách Xếp chỗ ngồi Đây hành động đồng loạt thực lúc bắt nhập học Chúng tương tự với hành động mà hàm thiết lập đối tượng thực 1.6.2 Hủy Khi đối tượng khơng cịn cần thiết bị hủy bỏ Sẽ lãng phí tài nguyên, chẳng hạn nhớ, tiếp tục đối tượng tồn khơng cịn cần thiết Định nghĩa Hàm Hủy phương thức đặc biệt dùng để hủy bỏ đối tượng Tiến trình Hủy tiêu hủy đối tượng giải phóng khoảng trống nhớ mà hàm thiết lập cấp phát cho Hàm Hủy triệt tiêu khả truy cập đến đối tượng Một đối tượng bị hủy thuộc tính khơng thể truy cập, khơng phương thức thực thi Chẳng hạn, trường hợp bán xe hơi, nhân viên bán hàng bỏ nghề, chi tiết người khơng cịn liên hệ Vì thế, đối tượng tương ứng bị hủy Điều giải phóng nhớ cấp phát cho nhân viên bán hàng Khoảng trống tái sử dụng Hãy xem xét ví dụ trường học Khi học sinh học, tên học sinh bị loại khỏi danh sách, khoảng trống giải phóng tái cấp phát Các hành động đồng loạt tương tự với công việc hàm hủy đối tượng 1.7 Tính Bền vững (Persistence) Hãy khảo sát trường hợp bán xe Những chi tiết khách hàng lưu trữ xe phân phối.Việc trì liệu cần thiết liệu chỉnh sửa hủy bỏ thức Định nghĩa Tính Bền vững khả lưu trữ liệu đối tượng đối tượng khơng cịn tồn Cửa hàng bán xe lưu trữ chi tiết khách hàng vào file Những chi tiết tồn file chúng bị hủy, thân file bị hủy Chúng ta đụng chạm tính bền vững ngày Hãy xem việc sáng tác thơ Bài thơ liệu tồn tâm trí nhà thơ Bao lâu nhà thơ cịn tồn lâu thơ tồn Nếu thơ muốn tồn sau nhà thơ qua đời phải viết giấy Bài thơ viết giấy tạo nên bền vững Bài thơ tồn văn cịn trì Bài thơ khơng cịn tồn tờ giấy bị xé rách, chữ nghĩa bị xóa 1.8 Tính Đóng gói liệu Tiến trình trừu tượng hóa liệu hỗ trợ cho việc xác định thuộc tính phương thức thiết yếu Thơng thường, đối tượng sử dụng thuộc tính phương thức khơng địi hỏi người sử dụng đối tượng Chẳng hạn trường hợp lớp ‘Khách hàng’ Lớp có phương thức xuất hóa đơn Giả sử hóa đơn xuất, chi tiết in hóa đơn ngày phân phối Tuy nhiên thuộc tính qua xác định thông tin Ngày phân phối phát sinh bên đối tượng, hiển thị hóa đơn Như người sử dụng không nhận thức cách thức mà ngày phân phối hiển thị Ngày phân phối xử lý theo cách sau: Đó giá trị tính tốn - Chẳng hạn, 15 ngày kể từ ngày đặt hàng Đó giá trị cố định – Xe phân phối vào ngày mùng tháng Đối tượng sử dụng thuộc tính phương thức mang tính nội Bởi thuộc tính phương thức che khuất khỏi tầm nhìn Các đối tượng khác người sử dụng khơng nhận thức thuộc tính / phương thức có tồn hay khơng Tiến trình che giấu thuộc tính, phương thức, chi tiết việc thi hành gọi ‘đóng gói’ (encapsulation) Định nghĩa Đóng gói tiến trình che giấu việc thực thi chi tiết đối tượng người sử dụng đối tượng Việc đóng gói phân tách khía cạnh truy cập từ bên ngồi với khía cạnh sử dụng nội đối tượng Điểm thuận lợi việc đóng gói tạo thuộc tính hay phương thức cần thiết để đáp ứng địi hỏi cơng việc xây dựng lớp Mặt khác, thuộc tính / phương thức truy cập từ bên ngồi lớp trơng thấy Một ví dụ khác việc đóng gói lớp ‘Nhân viên bán hàng’ định nghĩa Khi phương thức tính tiền hoa hồng thực thi, người sử dụng khơng biết chi tiết việc tính tốn Tất họ biết tổng số tiền hoa hồng mà họ phải trả cho nhân viên bán hàng Một trường hợp đóng gói mà gặp đời sống ngày việc giao dịch kinh doanh cửa hàng Khách hàng yêu cầu sản phẩm X Họ trao cho sản phẩm X, họ phải trả tiền cho sản phẩm Sau khách hàng yêu cầu sản phẩm, người bán hàng thực hành động sau: Kiểm tra mặt hàng kệ hàng Giảm số lượng mặt hàng bảng kiểm kê sau bán Tuy nhiên, khách hàng chi tiết 1.9 Tính thừa kế Hãy khảo sát lớp sau: Lớp Sinh viên Tên Địa Điểm môn Điểm môn Nhập tên Nhập địa Nhập điểm Tính tổng điểm Lớp Nhân viên Tên Địa Lương Chức vụ Nhập tên Nhập địa Nhập chức vụ Tính lương Lớp Khách hàng Tên Địa Kiểu xe bán Nhập tên Nhập địa Nhập kiểu xe Xuất hóa đơn Trong tất ba lớp, thấy có vài thuộc tính hoạt động chung Chúng ta muốn nhóm thuộc tính hoạt động lại, định nghĩa chúng lớp ‘Người’ Lớp Người Tên Địa Nhập tên Nhập địa Ba lớp ‘Sinh viên’, ‘Nhân viên’ ‘Khách hàng’ tạo nên lớp ‘Người’ Nói cách khác, ba lớp có tất thuộc tính phương thức lớp ‘Người’, chúng cịn có thuộc tính phương thức riêng Chúng ta cần phải định nghĩa lớp ‘Người’ sử dụng định nghĩa lớp ‘Sinh viên’, ‘Nhân viên’ ‘Khách hàng’ Chúng ta xây dựng lớp ‘Người’ với thuộc tính hoạt động trình bày hình Kế tiếp, xây dựng lớp ‘Khách hàng’ bao gồm lớp ‘Người’ cộng với thuộc tính phương thức riêng Chúng ta định nghĩa lớp ‘Sinh viên’ ‘Nhân viên’ theo cách thức Như thế, ba lớp ‘Khách hàng’, ‘Sinh viên’ ‘Nhân viên’ chia sẻ thuộc tính phương thức mà lớp ‘Người’ cung cấp Lớp Sinh viên Điểm môn Điểm mơn Nhập điểm tính tổng điểm Lớp Nhân viên Lương Chức vụ Nhập chức vụ Tính lương Lớp Khách hàng Kiểu xe bán Nhập kiểu xe Xuất hóa đơn Theo ngơn ngữ hướng đối tượng, lớp ‘Khách hàng’ gọi thừa kế lớp ‘Người’ Định nghĩa Tính thừa kế cho phép lớp chia sẻ thuộc tính phương thức định nghĩa nhiều lớp khác Có hai khái niệm quan trọng khác liên kết với tính thừa kế Lớp ‘Khách hàng’ lớp ‘Người’ cộng thêm khác Như thế, lớp ‘Khách hàng’ có tất thuộc tính phương thức định nghĩa lớp ‘Người’ cộng với thuộc tính hoạt động riêng Trong ví dụ này, lớp ‘Khách hàng’ gọi ‘lớp con’ (subclass) Định nghĩa Lớp thừa hưởng từ lớp khác gọi Subclass Trong ví dụ trên, lớp ‘Người’ coi ‘lớp trên’ (superclass) Định nghĩa Một Superclass lớp mà đặc tính lớp khác thừa hưởng Hãy xem xét ví dụ lớp ‘Các động vật’ hình 1.4 ‘Các động vật’ lớp mà lớp khác kế thừa Chúng ta có dãy lớp trung gian – ‘Cơn trùng’, ‘Hữu nhũ’, ‘Bị sát’, ‘Lưỡng cư’ - mà dãy lớp kế thừa Các lớp ‘Cơn trùng’, ‘Hữu nhũ’, ‘Bị sát’, ‘Lưỡng cư’ lớp lớp ‘Các động vật’ Như thế, lớp có tất thuộc tính hoạt động lớp ‘Các động vật’, cộng thêm thuộc tính phương thức riêng chúng Lớp ‘Hữu nhũ’ lớp mà lớp ‘Con người’ ‘Khác người’ thừa kế Như thế, lớp ‘Con người’ ‘Khác người’ lớp lớp ‘Hữu nhũ’ Các động vật Cơn trùng Hữu nhũ Con người Bị sát Lưỡng cư Khác người Hình 1.4 Tính thừa kế 1.9.1 Tính Đa Thừa kế Trong tất ví dụ trên, lớp thừa kế từ lớp Ngay ví dụ thừa kế loại phương tiện di chuyển, lớp có lớp cha Trường hợp gọi ‘thừa kế đơn’ (single inheritance) Trong ‘đa thừa kế’, lớp thừa kế từ hai hay nhiều lớp cha Hãy khảo sát ví dụ sau: ... biệt dùng để hủy bỏ đối tượng Tiến trình Hủy tiêu hủy đối tượng giải phóng khoảng trống nhớ mà hàm thiết lập cấp phát cho Hàm Hủy triệt tiêu khả truy cập đến đối tượng Một đối tượng bị hủy thuộc... tương tự với hành động mà hàm thiết lập đối tượng thực 1.6.2 Hủy Khi đối tượng khơng cịn cần thiết bị hủy bỏ Sẽ lãng phí tài nguyên, chẳng hạn nhớ, tiếp tục đối tượng tồn khơng cịn cần thiết Định... Tiến trình che giấu thuộc tính, phương thức, chi tiết việc thi hành gọi ‘đóng gói’ (encapsulation) Định nghĩa Đóng gói tiến trình che giấu việc thực thi chi tiết đối tượng người sử dụng đối tượng

Ngày đăng: 08/05/2021, 17:27

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan