Bài giảng Lập trình hướng đối tượng: Chương 10 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
Số trang: 31
Loại file: pdf
Dung lượng: 1.18 MB
Lượt xem: 14
Lượt tải: 0
Xem trước 4 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: Chương 10 Operator overloading, cung cấp cho người đọc những kiến thức như: Đặt vấn đề; Operator overloading; Khai báo hàm cho Operator overloading; Các toán tử chuyển đổi;...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: Chương 10 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM CHƯƠNG 10: Click to edit Master subtitle style Operator overloading Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1 NỘI DUNG Đặt vấn đề Operator overloading Operator Overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh Khai báo hàm cho Operator overloading Các toán tử chuyển đổi Tóm tắt 2 ĐẶT VẤN ĐỀ Đặt vấn đề Mục tiêu khi thiết kế ngôn ngữ C# là các lớp tự tạo (user-defined class) bởi người dùng sẽ có tất cả các chức năng của các kiểu dữ liệu có sẵn (built-in type). 4 Đặt vấn đề class Vector Ví dụ: { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Cộng 2 vector public static Vector Add(Vector a, Vector b) { return new Vector(a.X + b.X, a.Y + b.Y); } } Có thể Gọi hàm Vector v1 = new Vector (1.0, 2.0); viết ???? Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Vector v2 = new Vector (3.0,4.0); cộng 2 vector Vector kq = Vector.Add(v1, v2); Vector kq = v1 + v2; Operator Overloading 5 OPERATOR OVERLOADING Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 7 Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 8 Operator overloading Operator overloading bao gồm: Từ khoá operator Các toán hạng (operand) • Ví dụ: +, -, *, /, >, Operator overloading class Vector { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Overload + public static Vector operator + (Vector a, Vector b) { return new Vector(a.X + b.X, a.Y + b.Y); } } Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Sử dụng operator + Vector kq = v1 + v2; 10 Operator overloading Ưu điểm của Operator overloading: Viết code ngắn gọn hơn Code dễ đọc hơn Vận dụng được các kiến thức về toán tử số học (+, - , *, /, >, Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 12 Toán tử hai ngôi (binary operator) class Vector { Ví dụ: public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } public static Vector operator + (Vector a, Vector b) Toán tử 2 ngôi + { return new Vector(a.X + b.X, a.Y + b.Y); } Toán tử 2 ngôi - public static Vector operator - (Vector a, Vector b) { return new Vector(a.X - b.X, a.Y - b.Y); } } Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Sử dụng operator overloading Vector v3 = v1 + v2; Vector v4 = v1 - v2; 13 Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 14 Toán tử một ngôi (unary operator) Ví dụ: class Vector { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Toán tử 1 ngôi + public static Vector operator + (Vector a) { return new Vector(a.X , a.Y); } Toán tử 1 ngôi - public static Vector operator - (Vector a) { return new Vector(-a.X ,- a.Y); } } 15 Operator ov ...
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: Chương 10 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM CHƯƠNG 10: Click to edit Master subtitle style Operator overloading Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1 NỘI DUNG Đặt vấn đề Operator overloading Operator Overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh Khai báo hàm cho Operator overloading Các toán tử chuyển đổi Tóm tắt 2 ĐẶT VẤN ĐỀ Đặt vấn đề Mục tiêu khi thiết kế ngôn ngữ C# là các lớp tự tạo (user-defined class) bởi người dùng sẽ có tất cả các chức năng của các kiểu dữ liệu có sẵn (built-in type). 4 Đặt vấn đề class Vector Ví dụ: { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Cộng 2 vector public static Vector Add(Vector a, Vector b) { return new Vector(a.X + b.X, a.Y + b.Y); } } Có thể Gọi hàm Vector v1 = new Vector (1.0, 2.0); viết ???? Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Vector v2 = new Vector (3.0,4.0); cộng 2 vector Vector kq = Vector.Add(v1, v2); Vector kq = v1 + v2; Operator Overloading 5 OPERATOR OVERLOADING Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 7 Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 8 Operator overloading Operator overloading bao gồm: Từ khoá operator Các toán hạng (operand) • Ví dụ: +, -, *, /, >, Operator overloading class Vector { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Overload + public static Vector operator + (Vector a, Vector b) { return new Vector(a.X + b.X, a.Y + b.Y); } } Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Sử dụng operator + Vector kq = v1 + v2; 10 Operator overloading Ưu điểm của Operator overloading: Viết code ngắn gọn hơn Code dễ đọc hơn Vận dụng được các kiến thức về toán tử số học (+, - , *, /, >, Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 12 Toán tử hai ngôi (binary operator) class Vector { Ví dụ: public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } public static Vector operator + (Vector a, Vector b) Toán tử 2 ngôi + { return new Vector(a.X + b.X, a.Y + b.Y); } Toán tử 2 ngôi - public static Vector operator - (Vector a, Vector b) { return new Vector(a.X - b.X, a.Y - b.Y); } } Vector v1 = new Vector (1.0, 2.0); Vector v2 = new Vector (3.0,4.0); Sử dụng operator overloading Vector v3 = v1 + v2; Vector v4 = v1 - v2; 13 Operator overloading Operator overloading Toán tử 2 ngôi Toán tử 1 ngôi Hỗn hợp Toán tử so sánh 14 Toán tử một ngôi (unary operator) Ví dụ: class Vector { public double X { get; set; } public double Y { get; set; } public Vector(double x, double y) { X = x; Y = y; } Toán tử 1 ngôi + public static Vector operator + (Vector a) { return new Vector(a.X , a.Y); } Toán tử 1 ngôi - public static Vector operator - (Vector a) { return new Vector(-a.X ,- a.Y); } } 15 Operator ov ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình hướng đối tượng Lập trình hướng đối tượng Operator overloading Khai báo hàm Các toán tử chuyển đổiGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 255 0 0 -
101 trang 193 1 0
-
14 trang 128 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 110 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 94 0 0 -
Bài giảng Lập trình cho khoa học dữ liệu - Bài 3: Các thao tác cơ bản trong Python
21 trang 93 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 90 0 0 -
265 trang 73 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 72 0 0 -
33 trang 59 0 0