Danh mục

Bài giảng Lập trình hướng đối tượng 1: Chương 3 - ThS. Thái Kim Phụng

Số trang: 13      Loại file: ppt      Dung lượng: 378.50 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 2,000 VND Tải xuống file đầy đủ (13 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Lập trình hướng đối tượng 1: Chương 3 Định nghĩa toán tử do ThS. Thái Kim Phụng biên soạn cung cấp cho người học các kiến thức: Định nghĩa toán tử, các loại toán tử, phạm vi sử dụng toán tử, bài tập thực hành. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng 1: Chương 3 - ThS. Thái Kim Phụng TrườngĐHKinhTếTp.HCM KhoaTinHọcQuảnLýLẬPTRÌNHHƯỚNGĐỐITƯỢNG1 CHƯƠNG 3: ĐỊNH NGHĨA TOÁN TỬ Nội dung1.1. Định Địnhnghĩa nghĩatoán toántử tử2.2.Các Cácloại loạitoán toán tử tử3.3. Phạm Phạm vi visử sửdụng dụngtoán toán tử tử4.4.Bài Bàitập tậpthực thựchành hành 1. Định nghĩa toán tử Trong C# , toán tử là một phương thức tĩnh (static method) dùng để nạp chồng (overload) một phép toán nào đó trên các đối tượng. Mục đích của toán tử là để viết mã chương trình gọn gàng, dễ hiểu hơn, thay vì phải gọi phương thức . Ví dụ: Giả sử ta có lớp PhanSo có phương thức Cong PhanSo ps1 = new PhanSo(2,4) ; PhanSo ps2 = new PhanSo(1,3) ; Thay vì viết: PhanSo ps3 = ps1.Cong(ps2); ta viết: PhanSo ps3 = ps1 + ps2; 1. Định nghĩa toán tử Ta có thể nạp chồng các toán tử sau:  Toán học: + , - , * , / , %  Cộng trừ một ngôi: ++ , -- , -  Quan hệ so sánh: == , != , > , < , >= , 1. Định nghĩa toán tử Nạp chồng toán tử bằng cú pháp sau:publicpublic static staticType TypeOperator Operator operator_symbol([parameter_list]); operator_symbol([parameter_list]); Trong đó :  Type là kiểu giá trị trả về.  parameter_list là danh sách các đối số nếu có.  operator_symbol là các toán tử. 1. Định nghĩa toán tửpublic static PhanSo operator + (PhanSo a, PhanSo b) { PhanSo kq = new PhanSo(); kq.tu = a.tu * b.mau + a. mau * b.tu; kq.mau = a.mau * b mau; return kq. RutGon();}public static PhanSo operator - (PhanSo a, PhanSo b) { PhanSo kq = new PhanSo(); kq.tu = a.tu * b.mau - a.mau * b.tu; kq.mau = a.mau * b.mau; return kq. RutGon();} 1. Định nghĩa toán tử Lưu ý khi nạp chồng toán tử  Tham số của toán tử phải là tham trị (không dùng các từ khóa ref, out).  Không được nạp chồng toán tử = (gán), && , || (and, or logic), ?: (điều kiện), checked, unchecked, new, typeof, as, is.  [ ] không được xem là một toán tử.  Khi nạp chồng các toán tử dạng: +, -, *, / , % thì các toán tử +=, -=, *=, /= , %= cũng tự động được nạp chồng. 1. Định nghĩa toán tử Lưu ý khi nạp chồng toán tử (tt)  Khi nạp chồng toán tử thì nên nạp chồng theo cặp đối ngẫu. Chẳng hạn, khi nạp chồng toán tử == thì nạp chồng thêm toán tử !=  Khi nạp chồng toán tử ==, != thì nên phát triển thêm các phương thức Equals(), GetHashCode() để đảm bảo luật “hai đối tượng bằng nhau theo toán tử == hoặc phương thức Equals sẽ có cùng mã băm”.  Khi định nghĩa toán tử ép kiểu ta phải chỉ ra đây là toán tử ép kiểu ngầm định (implicit) hay tường minh (explicit). 2. Các loại toán tử Trong C#, có các toán tử có thể nạp chồng và các phương thức thay thế như sau: Toán Tênphươngthức Toántử Tênphươngthức tử thaythế thaythế+ Add > Compare Subtract < Compare* Multiply != Compare/ Divide >= Compare% Mod 2. Các loại toán tử&& Add 3. Phạm vi sử dụng toán tử Phạmtrù Toántử HạnchếNhịphântoánhọc +,*,/,,% KhôngThậpphântoánhọc +,,++, KhôngNhịphânbit &,|,^, KhôngThậpphânbit !,~,true,false KhôngSosánh ==,!=,>=, Bài thực hành 1 Xây dựng lớp Vector gồm có các thành phần dữ liệu X, Y, Z.Các phương thức: - Phương thức khởi tạo không tham số - Phương thức khởi tạo có 3 tham số - Phương thức: setX(float x), setY(float y), setZ(float Z), getX(), getY(), getZ() - Phương thức HienThi() - Phương thức nạp chồng toán tử cộng (+) đối với hai vector Bài thực hành 2Viết chương trình thực hiện nạp chồng các toántử +, -, *, /, ==, !=, >,

Tài liệu được xem nhiều: