Overloading (Nạp ck phương thức) cùng Overriding (ghi đè phương thức) là hai tư tưởng cơ phiên bản trong lập trình mà bất kỳ newbie nào thì cũng cần phân biệt. Vậy chúng là gì? không giống nhau thế nào? Hãy cùng Hybrid Technologies phân tích và tò mò trong nội dung bài viết này nhé!

Overloading (Nạp ông chồng phương thức) là gì?

Overloading là một trong những kĩ thuật chất nhận được trong cùng một class gồm thể có khá nhiều phương thức thuộc tên nhưng không giống nhau về con số tham số hoặc kiểu dữ liệu tham số. Ví dụ họ có hàm tinhTong dùng để cùng hai số nguyên. Khi muốn cộng cha số nguyên, chúng ta phải viết một hàm với tên không giống (chẳng hạn tinhTong1) cùng truyền vào 3 số nguyên? Như vậy, code vẫn trở nên phức hợp hơn trong lúc hai hàm bao gồm cùng một mục đích là cộng các số nguyên lại cùng với nhau. Như vậy bọn họ sẽ overload hàm tinhTong như sau:




Bạn đang xem: Overload là gì

*

Khi call hàm tinhTong và truyền vào con số tham số khác biệt thì sẽ hotline tới hàm có con số tham số tương ứng


*

Chú ý vào hành lang cửa số “Watch 1” ta thấy quý hiếm của hai đổi mới a cùng b theo lần lượt là cực hiếm trả về của nhị hàm tinhTong(int a, int b) và hàm tinhTong(int a, int b, int c) 

Tương từ ta tất cả thể overload kiểu tài liệu của tham số. Thay vày hàm tinhTong cộng nhì số nguyên thì cũng hoàn toàn có thể cộng nhị số thực, chỉ việc truyền vào 2 tham số giao diện double.Bạn đang xem: Overload là gì


*

Tương tự giá bán trị biến hóa c là quý giá trả về của hàm tinhTong(double a, double b) sau khi truyền vào hai tham số hình dạng double.




Xem thêm: Vải Polyester Là Gì? Ứng Dụng Của Polyester Trong Đời Sống “Tất Tần Tật” Điều Cần Biết Về Vải Polyester

*

Overriding (Ghi đè phương thức) là gì?

Overrding (tên không hề thiếu là Method Overriding), được sử dụng trong trường đúng theo lớp con thừa kế từ lớp cha và mong muốn định nghĩa lại một cách tiến hành đã xuất hiện ở lớp cha. Một lớp phụ thân thông thường có thể có không ít lớp nhỏ kế thừa, mặc dù phương thức sống lớp phụ vương có thể cân xứng với lớp con này nhưng mà không cân xứng với lớp con khác, cho nên lớp con yêu cầu ghi đè lại cách làm đó cho phù hợp.

Ví dụ class Animal có phương thức animalSound đại diện mang lại tiếng kêu của cồn vật. Class Dog và Cat kế quá từ class Animal, nhưng lại chó với mèo tất cả tiếng kêu không giống nhau nên buộc phải implement phương thức animalSound cho mỗi lớp khác nhau. Do vậy rất cần phải ghi đè lại phương thức animalSound ở nhì lớp Dog cùng Cat bằng phương pháp sử dụng trường đoản cú khóa override như sau(lưu ý lấy ví dụ như minh họa thực hiện code C#, hầu như ngôn ngữ khác nhau sẽ overriding theo cú pháp khác biệt nhưng về bản chất là như nhau).