Nạp chồng toán tử (Operator Overloading) trong C#

Khái niệm nạp chồng một hàm cũng có thể được áp dụng cho các toán tử. Nạp chồng toán tử (Operator Overloading) cho phép sử dụng cùng một toán tử để thực hiện hoạt động khác nhau. Trong bài học C# dưới đây, Taimienphi.vn sẽ giới thiệu chi tiết cho bạn về nạp chồng toán tử (Operator Overloading) trong C#.

Các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về lớp và đối tượng trong C# là gì, bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về nạp chồng toán tử (Operator Overloading) trong C#.

nap chong toan tu (operator overloading) trong c#

Nạp chồng toán tử (Operator Overloading) trong C#
 

Mục Lục bài viết:
1. Nạp chồng toán tử (Operator Overloading) trong C#.
2. Cú pháp nạp chồng toán tử trong C#.
3. Nạp chồng toán tử một ngôi.
4. Nạp chồng toán tử nhị phân.
5. Lợi ích của nạp chồng toán tử trong C#.

1. Nạp chồng toán tử (Operator Overloading) trong C#

Như đã đề cập ở trên, nạp chồng toán tử cho phép sử dụng cùng một toán tử để thực hiện các hoạt động khác nhau, bổ sung cho các toán tử C# khi nó được áp dụng cho các kiểu dữ liệu do người dùng định nghĩa. Đồng thời cho phép triển khai các toán tử do người dùng định nghĩa cho các hoạt động khác nhau, trong đó một hoặc cả hai toán hạng là lớp do người dùng định nghĩa.

Chỉ tập hợp các toán tử C# được định nghĩa trước mới có thể được nạp chồng. Việc thực hiện các thao tác các kiểu dữ liệu do người dùng định nghĩa không đơn giản như các thao tác trên kiểu dữ liệu được tích hợp.

Để sử dụng các toán tử với các kiểu dữ liệu do người dùng định nghĩa, các toán tử này phải được nạp chồng theo yêu cầu của lập trình viên. Một toán tử có thể được nạp chồng bằng cách định nghĩa một hàm cho nó. Hàm của toán tử được khai báo bằng cách sử dụng từ khóa operator.

2. Cú pháp nạp chồng toán tử trong C#

Dưới đây là cú pháp nạp chồng toán tử trong C#:

nap chong toan tu operator overloading trong c 2

Lưu ý: Về cơ bản toán tử nạp chồng là cơ chế cung cấp toán tử C# lý tưởng, một kiểu dữ liệu do người dùng định nghĩa, chẳng hạn như các cấu trúc hoặc các lớp.

Dưới đây là bảng danh sách mô tả các toán tử nạp chồng khác nhau có sẵn trong C#:

Toán tử Mô tả

+, -, !, -, ++, - - Toán tử một ngôi lấy một toán hạng và có thể bị nạp chồng.

+, -, *, /, % Toán tử nhị phân lấy 2 toán hạng và có thể bị nạp chồng.

==, !=, = Toán tử so sánh có thể bị nạp chồng.

&&, || Toán tử logic không bị nạp chồng trực tiếp.

+=, -+, *=, /=, %=, = Toán tử gán không bị nạp chồng.

nap chong toan tu operator overloading trong c 3

3. Nạp chồng toán tử một ngôi

Kiểu trả về có thể là kiểu dữ liệu bất kỳ, ngoại trừ khoảng trống cho các toán tử một ngôi như !, -, + và dấu chấm (.), nhưng kiểu trả về phải là kiểu của toán tử - và ++, và kiểu bool cho toán tử True cũng như False. Tuy nhiên cần lưu ý các toán tử True và False có thể bị nạp chồng dưới dạng các cặp. Lỗi trình biên dịch phát sinh nếu một lớp khai báo một trong các toán tử này mà không khai báo các toán tử khác.

Dưới đây là cú pháp nạp chồng toán tử một ngôi:

Toán tử (đối tượng);

Trong đó, toán tử là biểu tượng biểu thị toán tử một ngôi.

Toán tử a;

Ví dụ về nạp chồng toán tử một ngôi:

nap chong toan tu operator overloading trong c 4

nap chong toan tu operator overloading trong c 5

nap chong toan tu operator overloading trong c 6

Kết quả đầu ra có dạng:

nap chong toan tu operator overloading trong c 7

4. Nạp chồng toán tử nhị phân

Toán tử nhị phân (Binary Operator) sẽ hoạt động với 2 toán hạng. Một số ví dụ về toán tử nhị phân bao gồm toán tử số học (+, -, *, /, %), toán tử gán số học (+=, -+, *=, /+, %=) và toán tử quan hệ, ... . Nạp chồng toán tử nhị phân tương tự nạp chồng toán tử một ngôi, ngoại trừ toán tử nhị phân yêu cầu thêm tham số bổ sung.

Cú pháp nạp chồng toán tử nhị phân:

Toán tử toán tử (đối tượng 1, đối tượng 2);

Trong đó toán tử2 là biểu tượng, biểu thị cho toán tử nhị phân.

toán tử + (a, b);

Ví dụ về nạp chồng toán tử nhị phân:

nap chong toan tu operator overloading trong c 8

nap chong toan tu operator overloading trong c 9

nap chong toan tu operator overloading trong c 10

Kết quả đầu ra có dạng:

nap chong toan tu operator overloading trong c 11

5. Lợi ích của nạp chồng toán tử trong C#

- Nạp chồng toán tử bổ sung cho các toán tử C# khi các toán tử này được áp dụng cho kiểu dữ liệu do người dùng định nghĩa.
- Các toán tử có thể được coi là các hàm bên trong trình biên dịch.

https://thuthuat.taimienphi.vn/nap-chong-toan-tu-operator-overloading-trong-c-43815n.aspx
Trên đây là các thông tin cũng như ví dụ về nạp chồng toán tử (Operator Overloading) trong C# mà Taimienphi.vn vừa giới thiệu cho bạn. Hy vọng bài viết trên đây đã cung cấp cho bạn các thông tin hữu ích về C#. Ngoài ra, bạn đọc có thể tham khảo thêm một số bài viết khác đã có trên Taimienphi.vn để tìm hiểu rõ hơn về Enum trong C# cũng như chuỗi trong C# là gì nhé.

Tác giả: Nguyễn Long Thịnh     (4.0★- 3 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Toán tử trong C
Vòng lặp (loop) trong C#
Nullable trong C# là gì?
Câu lệnh điều kiện trong C#
Hướng dẫn nạp ví 9Pay trên điện thoại
Từ khoá liên quan:

Nạp chồng toán tử trong C#

, Operator Overloading trong C#, học C#,

SOFT LIÊN QUAN
  • C# và .NET Framework

    Lập trình với C#, trong môi trường .NET Framework

    Tài liệu C# và .NET Framework trình bày các vấn đề về lập trình bằng C# và môi trường .NET Framework , mối quan hệ giữa C# và .NET Framework . C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft cò ...
  • Ví điện tử 9Pay Dịch vụ thanh toán online, nạp tiền điện thoại
  • Tử vi Hàm Số Áp dụng quy luật hàm số trong xem tử vi
  • OGLplus Quản lý đối tượng trong lập trình C++
  • CodeLite Hỗ trợ lập trình C, xây dựng ứng dụng trong C
  • NganLuong Ví điện tử thanh toán online

Tin Mới

  • Cách tra điểm thi trên Trạng Nguyên Tiếng Việt

    Sau khi hoàn tất bài thi, các em học sinh có thể kiểm tra điểm số ngay trên trang web Trạng Nguyên Tiếng Việt để biết được sức học của mình đến đầu, cải thiện việc học của mình hiệu quả. Nếu các em chưa biết tra điểm thì tham khảo ngay cách tra điểm thi trên Trạng Nguyên Tiếng Việt của Taimienphi.vn.

  • Cách cài đặt Font chữ tiểu học, gõ phông chữ tiểu học nhanh nhất

    Nếu bạn chưa biết cách cài Font chữ tiểu học, hãy xem ngay 5 bước đơn giản từ Taimienphi để dễ dàng thiết lập cho máy tính của mình nhé.

  • 1 tỷ có mấy số 0

    Nếu đang cần tính toán, quy đổi các chữ số hàng tỷ ra các con số hàng trăm, vạn, triệu,..., nhưng không nhớ chính xác 1 tỷ có mấy số 0 hay 1 triệu có mấy số 0 thì bài viết này sẽ rất hữu ích với bạn. Vận dụng cách ghi nhớ các số, chữ số hàng tỷ, bạn đọc sẽ nhanh chóng tính toán và quy đổi sang các giá trị tương ứng

  • Link tải ABBYY FineReader 15, 14

    ABBYY FineReader được đánh giá là phần mềm OCR tốt nhất hiện nay. Với công nghệ OCR dựa trên AI mới nhất của ABBYY, FineReader làm cho quá trình số hóa, truy xuất, chỉnh sửa, bảo vệ, chia sẻ và cộng tác trên tất cả các loại tài liệu trở nên dễ dàng hơn.