• Trang chủ
  • Giới thiệu
  • Vào bếp cùng Chi
    • Làm bánh
    • Món xào
    • Món kho
    • Món chiên
    • Món hấp
    • Món canh
  • Bao nhiêu Calo?
  • Khỏe & Đẹp
    • Tóc đẹp
    • Chăm sóc tóc
    • Nail & Makeup
    • Nha khoa
    • Chăm sóc da
    • Chăm sóc body
  • Liên hệ
Facebook Twitter Instagram
TungChi'N
  • Trang chủ
  • Giới thiệu
  • Vào bếp cùng Chi
    • Làm bánh
    • Món xào
    • Món kho
    • Món chiên
    • Món hấp
    • Món canh
  • Bao nhiêu Calo?
  • Khỏe & Đẹp
    • Tóc đẹp
    • Chăm sóc tóc
    • Nail & Makeup
    • Nha khoa
    • Chăm sóc da
    • Chăm sóc body
  • Liên hệ
Facebook Twitter Instagram
TungChi'N
Home»Tổng hợp»Override Là Gì ? Nghĩa Của Từ Overrides Trong Tiếng Việt Định Nghĩa, Ví Dụ, Giải Thích
Tổng hợp

Override Là Gì ? Nghĩa Của Từ Overrides Trong Tiếng Việt Định Nghĩa, Ví Dụ, Giải Thích

Chi NguyễnBy Chi Nguyễn11/06/2022Không có phản hồi10 Mins Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

Trong bài viết này, mình sẽ trình bày về Override, overload và sự khác nhau cơ bản giữa chúng.

Đang xem: Override là gì

1. Override

Nội dung bài viết

  • 1.Một Khái niệm và ví dụ:
  • 1.Hai Gọi phiên bản phương thức của lớp cha
  • 1.3 Những quy tắc cho việc cài đè
  • 2.Một Khái niệm và ví dụ
  • 2.Hai Những cách nạp chồng
  • 2.3 Tự động ép kiểu trong nạp chồng
  • 2.4 Nạp chồng phương thức khởi tạo
  • 2.5 Những quy tắc nạp chồng

1.Một Khái niệm và ví dụ:

Override là một tính năng cho phép một lớp con cung ứng một triển khai cụ thể của phương thức đã được cung ứng bởi một trong những lớp cha của nó. Nói dễ hiểu hơn, nếu lớp con mang một hoặc nhiều phương thức giống với một trong những lớp cha của nó, thì đó là ghi đè phương thức.

Override được sử dụng để thu được tính đa hình tại runtime.

Ví dụ về sử dụng Override

Ta sẽ xây dựng Một cây kế thừa cho những loài động vật như hình dưới, những loài động vật này đều mang chung những đặc điểm và phương thức như:picture – tên file ảnh đại diện cho con vật nàyfood – loại thức ăn mà con vật thích. Hiện giờ, biến này chỉ mang hai trị giá: cỏ (grass) hoặc thịt (meat).hunger – một biến int trình diễn mức độ đói của con vật. Biến này thay đổi tùy theo lúc nào con vật ăn và nó ăn bao nhiêu.boundaries – những trị giá trình diễn chiều dọc và chiều ngang (ví dụ 640 x 480) của khu vực mà những con vật sẽ đi lại hoạt động trong đó.location – những tọa độ X và Y của con vật trong khu vực của nó.makeNoise() – hành vi lúc con vật phát ra tiếng kêu.eat() – hành vi lúc con vật gặp nguồn thức ăn ưa thích, thịt hoặc cỏ.sleep() – hành vi lúc con vật được coi là đang ngủ.roam() – hành vi lúc con vật ko phải đang ăn hay đang ngủ, mang thể chỉ đi lang thang đợi gặp món gì ăn được hoặc gặp biên giới lãnh địa.

Tuy nhiên những loài động vật trên lại mang thức ăn và âm thanh phát ra khác nhau, vậy nên ta nên để eat() và makeNoise() được cài đè tại từng lớp con:

Ta sẽ tiếp tục phân nhóm mịn hơn cây kế thừa trên. Chó sói và chó mang họ hàng sắp, cùng thuộc họ Chó (canine), chúng thường di chuyển theo bầy đàn nên mang thể tiêu dùng chung phương thức roam(). Mèo, hổ, sư tử cùng thuộc họ Mèo (feline) lúc di chuyển chúng thường tránh đồng loại nên mang thể tiêu dùng chung phương thức roam(). Trâu nước sẽ tiếp tục tiêu dùng phương thức roam() từ animal.

Vậy lúc cài đè, phương thức nào được gọi?

Trong cây kế thừa xảy ra cài đè, chiếc gì ở thấp nhất sẽ được gọi.Lấy ví dụ ở hình trên, lớp Wolf mang bốn phương thức: sleep() được thừa kế từ Animal, roam() được thừa kế từ Canine (thực ra là phiên bản đè bản của Animal), và hai phương thức mà Wolf cài đè bản của Animal – makeNoise() và eat(). Những phương thức sẽ được gọi như sau:

1.Hai Gọi phiên bản phương thức của lớp cha

Với nhiều trường hợp lúc cài đè Một hành vi của lớp cha, nhưng ta lại ko muốn thay thế hoàn toàn mà chỉ muốn bổ sung một số chi tiết.Ví dụ: Chẳng hạn, lớp Trương mục đại diện cho tài khoản nhà băng chung chung. Nó cung ứng phương thức withdraw(double) với chức năng rút tiền, phương thức này thực hiện thứ tự rút tiền cơ bản: trừ số tiền rút khỏi số dư tài khoản (balance). FeeBasedAccount là loại tài khoản nhà băng thu phí đối với mỗi lần rút tiền, tức là kế bên thứ tự rút tiền cơ bản, nó còn làm thêm một việc là trừ phí rút tiền khỏi số dư tài khoản. Tương tự, FeeBasedAccount mang cần tới nội dung của bản withdraw() được Trương mục cung ứng sẵn, nhưng vẫn phải cài đè vì nội dung đó ko đủ tiêu dùng. Ta cũng ko muốn chép nội dung bản withdraw() của Trương mục vào bản của FeeBasedAccount. Thay vào đó, ta muốn mang cách gọi phương thức withdraw() của Trương mục từ trong phiên bản cài đè tại FeeBasedAccount.Cách khắc phục: từ trong phiên bản cài đè tại lớp con, ta muốn gọi tới chính phương thức đó của lớp cha, từ khóa super cho phép gọi tới cách thành viên được thừa kế.

public class Trương mục { private double balance = 0; public void deposit(double money) { balance += money; } public void wirhDraw(double money) { balance -= money; } public class FeeBasedAcount extends Trương mục { private double fee = 10; public void withdraw(double money) { super.wirhDraw(money); balance -= fee; } } }

1.3 Những quy tắc cho việc cài đè

Danh sách thông số phải trùng nhau, kiểu trị giá trả về phải tương thích.Phương thức đè ko được giảm quyền truy nhập so với phiên bản của lớp cha.Nói cách khác, quyền truy nhập mà phiên bản của lớp con cho phép phải bằng hoặc rộng hơn phiên bản của lớp cha. Ta ko thể cài đè một phương thức public bằng một phiên bản private. Nếu ko, tình huống xảy ra là một lời gọi phương thức đã được trình biên dịch chấp nhận vì tưởng là phương thức public nhưng tới lúc nó chạy lại bị máy ảo từ chối vì phiên bản được gọi lại là private.Phải là quan hệ IS-A (kế thừa).Những phương thức final, static, private ko thể cài đè.2. Overload

2.Một Khái niệm và ví dụ

Nạp chồng phương thức đơn thuần là mang vài phương thức trùng tên nhưng khác nhau về đối số trong cùng Một class. Cài chồng phương thức cho phép ta tạo nhiều phiên bản của một phương thức, mỗi phiên bản chấp nhận một danh sách đối số khác nhau, nhằm tạo thuận lợi cho việc gọi phương thức.Nạp chồng phương thức được sử dụng để thu được tinh đa hình tại compile time.Ví dụ: class Calculation { void sum(int a, int b) { System.out.println(a + b); } void sum(int a, int b, int c) { System.out.println(a + b + c); } }

2.Hai Những cách nạp chồng

2.2.Một Thay đổi số lượng thông số

Ví dụ:

class Sum { void sum(int a, int b) { System.out.println(a + b); } void sum(int a, int b, int c) { System.out.println(a + b + c); } }2.2.Hai Thay đổi kiểu trả về của thông số

Ví dụ:

class Sum { void sum(int a, int b) { System.out.println(a + b); } void sum(int a, double b) { System.out.println(a + b); } }

2.3 Tự động ép kiểu trong nạp chồng

Kiểu dữ liệu của đối số truyền vào được thay đổi sang kiểu dữ liệu khác (tự động ép kiểu) nếu trị giá của đối số đó ko thích hợp với kiểu dữ liệu của thông số đã được đinh nghĩa.Ví dụ phương thức sum(int x, double y) ở ví dụ trên lúc được truyền thông số như sau sum(10, 20) thì trị giá thông số thứ Hai được truyền vào là int sẽ được tự động ép kiểu sang kiểu double.Quy tắc ép kiểu: Được tự động ép về kiểu dữ liệu to hơn và ưu tiên sắp nhất kiểu dữ liệu được ép theo thứ tự hình sau:

Theo hình trên thì kiểu byte mang thể ép sang những kiểu to hơn nó như short, int, float, long, double nhưng nó sẽ ưu tiên kiểu short. Hoặc kiểu int mang thể ép sang kiểu float, long, double nhưng nó sẽ ưu tiên ép sang kiểu long vì long sắp nó hơn so với Hai kiểu còn lại. Ví dụ: class Sum { void sum(float a, float b) { System.out.println(“First method will be call”); } void sum(long a, long b) { System.out.println(“Second method will be call”); } public static void main(String args) { Sum s = new Sum(); s.sum(10, 20); } }Kết quả in ra sẽ là “Second method will be call” tức là hàm sum thứ Hai sẽ được gọi vì thông số truyền vào là kiểu int, nó sẽ ưu tiên ép sang kiểu to hơn nó và mang trị giá sắp nhất nó, ở đây là kiểu long.Từ đó ta mang ta mang thể suy ra là kiểu double ko thể tự động ép kiểu.

2.4 Nạp chồng phương thức khởi tạo

Xét trường hợp ta mang những hàm khởi tạo chồng với hoạt động khởi tạo giống nhau và chỉ khác nhau ở phần xử lý những kiểu đối số. Ta sẽ ko muốn chép đi chép lại phần mã khởi tạo mà những hàm khởi tạo đều mang.Cách khắc phục: ta sẽ đặt toàn bộ phần mã đó vào chỉ một trong những hàm khởi tạo. Và ta muốn rằng hàm khởi tạo nào cũng đều gọi tới hàm khởi tạo kia để nó hoàn thành công việc khởi tạo. Để làm việc đó, ta tiêu dùng this() để gọi một hàm khởi tạo từ bên trong một hàm khởi tạo khác của cùng một lớp. Ví dụ: public class Student { int id; String name; Student() { System.out.println(“gọi Constructor mặc định”); } Student(int id, String name) { this(); // nó được sử dụng để gọi Constructor của lớp hiện tại this.id = id; this.name = name; } void display() { System.out.println(id + ” ” + name); } public static void main(String args) { Student e1 = new Student(111, “Viet”); Student e2 = new Student(222, “Nam”); e1.display(); e2.display(); } }Kết quả in ra sẽ là:gọi Contructor mặc địnhgọi Contructor mặc định111 Việt222 Nam

2.5 Những quy tắc nạp chồng

Những phương thức overloaded phải cùng tên nhưng khác nhau ở những thông số.Chúng mang thể được khái niệm cùng hoặc khác kiểu dữ liệu trả về.Chúng mang thể được khái niệm cùng hoặc khác access modifier.Những phương thức ko được gọi là overloaded nếu chúng chỉ khác nhau ở kiểu dữ liệu trả về hoặc access modifier.3. Sự khác nhau giữa overload và override

OverrideOverload
Hành viThay đổi hành vi hiện tại của phương thức.Thêm hoặc mở rộng cho hành vi của phương thức.
Đa hìnhThể hiện tính đa hình tại run time.Thể hiện tính đa hình tại compile time.
Danh sách thông sốDanh sách thông số phải giống nhau.Danh sách thông số mang thể khác nhau.
Quyền truy cậpPhương thức ghi đè ở lớp con phải mang quyền truy cập bằng hoặc to hơn phương thức được ghi đè ở lớp cha.Những phương thức nạp chồng mang thể mang quyền truy cập khác nhau.
Trị giá trả vềKiểu trả về đề xuất phải giống nhau.Kiểu trả về mang thể khác nhau.
Phạm viXảy ra giữa Hai class mang quan hệ kế thừaXảy ra trong phạm vi cùng Một class.

4. Tổng kếtBài viết trên mình đã giới thiệu về override, overload và sự khác biệt giữa chúng, hi vọng sẽ giúp ích ít nhiều cho những độc giả bài viết này. Bài viết trên nếu mang thiếu xót gì mong những bạn góp ý cho mình dưới phần comment, mình sẽ sửa lại để bài viết mang nội dung tốt hơn. Cảm ơn những bạn đã đọc bài viết!

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleMang gì bên người để may mắn? Bật mí những vật dụng giúp hút tài lộc
Next Article Pipet thẳng là gì? Cách sử dụng ống nhỏ giọt đơn giản, dễ thực hiện

Related Posts

Cửa cuốn là gì và bạn có cần cửa cuốn không?

14/08/20229 Mins Read

Ý nghĩa và các cách cúng dường Tam Bảo?

14/08/20228 Mins Read

Nằm mơ thấy tiền âm phủ là số mấy ? Là điềm báo gì ? Tốt hay xấu ?

13/08/20227 Mins Read

Hoàn thuế là gì? Các trường hợp hoàn thuế giá trị gia tăng

11/08/20226 Mins Read

Vải Viscose là gì? Đặc tính và các ứng dụng phổ biến

11/08/20227 Mins Read

Người sắp chết có những biểu hiện gì? Giải đáp tâm linh 2021.

10/08/20228 Mins Read
  • Facebook
  • Instagram
  • LinkedIn
  • Pinterest
  • Phổ biến
  • Mới nhất

Cửa cuốn là gì và bạn có cần cửa cuốn không?

14/08/2022

2 cách làm bánh sữa tươi và bánh sữa chua nướng núng nính béo ngậy cực ngon

13/08/2021

2 Cách làm bánh gạo tokbokki bằng cơm nguội cực đơn giản tại nhà

13/08/2021

Cách làm bánh khoai lang tím hấp sữa chua thơm ngon nhẹ nhàng cho buổi sáng

13/08/2021

2 cách nấu lẩu chao đậu nành, lẩu chao khoai môn chay đổi vị ngày rằm

12/08/2021

Cách nấu canh cá diêu hồng nấu ngót thơm ngon đơn giản tại nhà

12/08/2021

Cách nấu canh mướp rau đay nấu tôm khô ngọt nước cho gia đình

12/08/2021

Tổng hợp 17 cách làm canh cá nấu ngót chua thanh ngọt dịu cho gia đình

12/08/2021

Tổng hợp 25 cách nấu súp ngon, đơn giản, hướng dẫn từng bước

12/08/2021

Cửa cuốn là gì và bạn có cần cửa cuốn không?

14/08/2022

Ý nghĩa và các cách cúng dường Tam Bảo?

14/08/2022

Tiền bảo hiểm khoản vay có được trả lại không

13/08/2022

Nằm mơ thấy tiền âm phủ là số mấy ? Là điềm báo gì ? Tốt hay xấu ?

13/08/2022

Hoàn thuế là gì? Các trường hợp hoàn thuế giá trị gia tăng

11/08/2022

Vải Viscose là gì? Đặc tính và các ứng dụng phổ biến

11/08/2022

21+ Cách tiết kiệm tiền cho Học sinh, Sinh viên NÊN ghi nhớ

11/08/2022

Người sắp chết có những biểu hiện gì? Giải đáp tâm linh 2021.

10/08/2022

Đánh giá Purely Inspired Organic Protein – Whey Protein thực vật chất

10/08/2022
Facebook Twitter Instagram Pinterest
  • nongdanmo
  • suanoncolosence
© 2022 ThemeSphere. Designed by ThemeSphere

Type above and press Enter to search. Press Esc to cancel.