Computer >> Máy Tính >  >> Lập trình >> C#

Quá tải trong C # là gì?

C # cung cấp hai kỹ thuật để triển khai tính đa hình tĩnh -

  • Quá tải hàm
  • Quá tải toán tử

Nạp chồng hàm

Hai hoặc nhiều hơn hai phương thức có cùng tên nhưng khác tham số là những gì chúng ta gọi là nạp chồng hàm trong C #.

Việc nạp chồng hàm trong C # có thể được thực hiện bằng cách thay đổi số lượng đối số và kiểu dữ liệu của các đối số.

Giả sử bạn có một hàm in phép nhân các số, khi đó các phương thức nạp chồng của chúng ta sẽ có cùng tên nhưng khác số đối số -

public static int mulDisplay(int one, int two) { }
public static int mulDisplay(int one, int two, int three) { }
public static int mulDisplay(int one, int two, int three, int four) { }

Sau đây là một ví dụ cho thấy cách triển khai nạp chồng hàm -

Ví dụ

using System;
public class Demo {
   public static int mulDisplay(int one, int two) {
      return one * two;
   }

   public static int mulDisplay(int one, int two, int three) {
      return one * two * three;
   }
   
   public static int mulDisplay(int one, int two, int three, int four) {
      return one * two * three * four;
   }
}

public class Program {
   public static void Main() {
      Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15));
      Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20));
      Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7));
   }
}

Đầu ra

Multiplication of two numbers: 150
Multiplication of three numbers: 2080
Multiplication of four numbers: 1470

Quá tải toán tử

Toán tử được nạp chồng là các hàm có tên đặc biệt là toán tử từ khóa theo sau là ký hiệu cho toán tử đang được định nghĩa.

Phần sau cho biết toán tử nào có thể bị quá tải và toán tử nào bạn không thể quá tải -

Sr.No Toán tử &Mô tả
1 +, -,!, ~, ++, -
Các toán tử một ngôi này nhận một toán hạng và có thể được nạp chồng.
2 +, -, *, /,%
Các toán tử nhị phân này nhận một toán hạng và có thể được nạp chồng.
3 ==,! =, <,>, <=,> =
Các toán tử so sánh có thể được nạp chồng.
4 &&, ||
Các toán tử logic có điều kiện không thể được nạp chồng trực tiếp.
5 + =, - =, * =, / =,% =
Các toán tử gán không thể được nạp chồng.
6 =,.,?:, - <, new, is, sizeof, typeof
Các toán tử này không thể bị quá tải