Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
543,82 KB
Nội dung
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHƯƠNG LỚP VÀ ĐỐI TƯỢNG Mục tiêu học Nêu chất, vai trò trừu tượng hoá Giải thích đóng gói che dấu thông tin Xây dựng lớp Định nghĩa lớp, thực ẩn Tạo phương thức, trường/thuộc tính Tạo sử dụng đối tượng Phương thức khởi tạo Khai báo khởi tạo đối tượng Sử dụng đối tượng Nội dung Trừu tượng hoá liệu Đóng gói xây dựng lớp Tạo sử dụng đối tượng Một số kĩ thuật xây dựng lớp sử dụng đối tượng Nội dung Trừu tượng hoá liệu Đóng gói xây dựng lớp Tạo sử dụng đối tượng Một số kĩ thuật xây dựng lớp sử dụng đối tượng 1.1 Trừu tượng hoá Giảm thiểu tinh lọc chi tiết nhằm tập trung vào số khái niệm/vấn đề quan tâm thời điểm “abstraction”- a concept or idea not associated with any specific instance Ví dụ: định nghĩa toán học loại trừu tượng hoá Trừu tượng hoá điều khiển (control abstraction) Trừu tượng hoá liệu (data abstraction) 1.1 Trừu tượng hoá (2) Trừu tượng hoá điều khiểm: sử dụng chương trình (sub program) luồng điều khiển (control flow) Ví dụ: a:=(1+2)*5 Nếu trừu tượng hoá điều khiển lập trình viên phải tất ghi, bước tính toán mức nhị phân Trừu tượng hoá liệu: xử lý liệu theo cách khác Ví dụ: kiểu liệu Sự tách biệt rõ ràng thuộc tính trừu tượng kiểu liệu chi tiết thực thi cụ thể kiểu liệu 1.2 Trừu tượng hoá liệu OOP Đối tương thực tế phức tạp Cần đơn giản hoá, bỏ qua chi tiết ko cần thiết Chỉ “trích bút” lấy thông tin liên quan, thông tin quan tâm, quan trọng với toán abstraction info Thuộc tính: Màu sắc Kiểu dáng Hãng sx Kiểu động Phương thức: Khởi động chạy Tăng tốc 1.2 Trừu trượng hoá liệu OOP Any model that include the most important, essential, or distinguishing aspects of something while suppressing or ignoring less important immaterial, or diversionary details The result of removing distinctions so as emphasize commonalties Cho phép nhà quản lý toán phức tạp cách tập trung vào đặc trưng quan trọng thực thể nhằm phân biệt với loại thực thể khác 1.2 Trừu tượng hoá liệu oop Trừu tượng hoá cách nhìn cách biểu diễn chr bao gồm thuộc tính liên quan ngữ cảnh Tập hợp thể thực thể thành nhóm có chung thuộc tính gọi lớp NhanVien -tenNhanVien -luongCoBan Bài tập -heSoLuong Viết mã nguồn cho lớp NhanVien hình bên biết: -luongMax Lương =Lương Cơ * hệ số +tangLuong Phương thức inTTin() hiển thị thông tin đối tượng (double) +tinhLuong() Nhân viên tương ứng +inTTin() Phương thức tangLuong(double) tăng hệ số lương lên lượng giá trị tham số double truyền vào Nếu điều làm cho lương nhân viên > lương tối đa cho phép không cho phép thay đổi, in thông báo trả false, ngược lại trả true Viết phương thức get, set cho thuộc tính lớp NhanVien Nội dung Trừu tượng hoá liệu Đóng gói xây dựng lớp Tạo sử dụng đối tượng Một số kĩ thuật xây dựng lớp sử dụng đối tượng 3.1 Khởi tạo liệu Dữ liệu cần khởi tạo trược sử dụng Lỗi khởi tạo cá lỗi phổ biến Với kiểu liệu đơn giản sử dụng toán tử = Với đối tượng cần dùng phương thức khởi tạo Khởi tạo huỷ bỏ đối tượng Mỗi đối tượng tồn hoạt động hệ điều hành cấp phát vùng nhớ để lưu lại giá trị liệu thành phần Khi tạo đối tượng HĐH gán giá trị khởi tạo cho liệu thành phần Phải thực tự động trước người lập trình tác động lên đối tượng Sử dụng hàm/phương thức khởi tạo Ngược lại, kết thúc cần phải giải phóng hợp lý tất nhớ cấp phát cho đối tượng Java: JVM C++: Hàm huỷ (destructor) 3.2 Phương thức khởi tạo Là phương thức đặc biệt gọi tự động tạo đối tượng Mục đích chính: Khởi tạo cho thuộc tính đối tương Mỗi lớp phải chứa constructor Có nhiệm vụ tạo thể lớp Tên constructor trùng với tên lớp Constructor kiểu liệu trả public BankAccount (String o, double b){ owner =o; balance = b; } 3.2 Phương thức khởi tạo Phương thức khởi tạo dùng thị truy cập public private mặc định Một phương thức khởi tạo dùng từ khoá abstract, static, final, native, synchronized Các phương thức khởi tạo không xem thành viên lớp 3.2 Phương thức khởi tạo Phương thức khởi tạo mặc định (defaul constructor) Là phương thức khởi tạo không tham số Nếu ta không viết phương thức khởi tạo lớp JVM cung cấp phương thức khởi tạo mặc định Phương thức khởi tạo mặc định JVM cung cấp có định giống lớp Một lớp nên có phương thức khởi tạo mặc định 3.3 Khai báo khởi tạo đối tượng Đối tượng tạo ra, thể hoá (instantiate) từ mẫu chung (lớp) Các đối tượng phải khai báo kiểu đối tượng trước sử dụng: Kiểu đối tượng lớp đối tuonwgj Ví dụ String strName; BankAccount acc; 3.3 Khai báo khởi tạo đối tượng Đối tượng cần khởi tạo trược sử dụng Sử dụng toán tử = để gán Sử dụng từ khoa new với constructor để khởi tạo đối tượng: Từ khoá new dùng để tạo đối tượng Tự động gọi phương thức khởi tạo tương ứng Một đối tượng khởi tạo mặc định null Đối tượng thao tác thông qua tham chiếu Ví dụ BankAccount acc1; Acc1 = new BankAccount; 3.3 Khai báo khởi tạo đối tượng Có thể kết hợp vừa khai báo khởi tạo đối tượng Cú pháp: TenLop tenDoiTuong = new PthucKhoiTao (DSThamSo) 3.3 Khai báo khởi tạo đối tượng Phương thức khởi tạo Không có gía trị trả về, sử dụng với từ khoá new trả tham chiếu đến đối tượng BankAccount account = new BankAccount(“Jhon”); 3.4 Sử dụng đối tượng Đối tượng cung cấp hoạt động phức tạp kiểu liệu nguyên thuỷ Đối tượng đáp ứng lại thông điệm Toán tử “.” sử dụng để gửi thông điệp đến đối tượng VD: String name = “chao tat ca cac ban”; Name.substring(2,9); 3.4 Sử dụng đối tượng Để gọi thành viên (dữ liệu/thuộc tính) lớp đối tưởng, sử dụng toán tử “.” Nếu gọi phương thức lớp toán tử “.” không cần thiết Tự tham chiếu - this Cho phép truy cập vào đối tượng lớp Quan ham/phương thức thành phần thao tác hai hay nhiều đối tượng Xoá nhập nhằng biến cục bộ, tham số với thành phần liệu lớp Không dùng bên khối lệnh static Bài tập Viết mã nguồn cho lớp nhân NhanVien Viết phương thức khởi tạo cho thuộc tính lớp NhanVien Viết lớp TestNV, tạo hai đối tượng lớp NhanVien, thực truyền thông điệp đến đối tượng vừa tạo để thị thông tin, hiển thị lương, tăng lương