Abstraction của OOP bật mí những đặc tính quan trọng, giấu đi báo cáo không quan trọng đặc biệt. Abstraction chỉ hoàn toàn có thể đã có được trải qua Abstract Class. Hãy cùng tò mò Abstract Class là gì nhé. 


1. Abstract Class là gì?

Abstract Class Có nghĩa là một tấm trừu tượng. Abstract Class là 1 trong những loại lớp trong OOP – Lập trình phía đối tượng. Abstract Class knhị báo một tốt nhiều method trừu tượng. Chúng hoàn toàn có thể tất cả cả method trừu tượng với method cụ thể. Một lớp thông thường cần thiết có method trừu tượng. Vấn đề này có nghĩa là một abstract class cần đựng tối thiểu một method trừu tượng.

Bạn đang xem: Định nghĩa abstract class là gì?

Một method trừu tượng là 1 trong những method được knhì báo không có triển khai (không có dấu ngoặc nhọn và xong xuôi là một vệt chấm phẩy).

Một Abstract Class bắt buộc chế tạo đối tượng dẫu vậy rất có thể bao gồm lớp con. khi một tấm trừu tượng bao hàm các lớp con, lớp con thường xuyên cung cấp thực hiện đến toàn bộ các method trừu tượng của lớp thân phụ. Trong khi, lớp trừu tượng có thể có trường rượu cồn và ngôi trường tĩnh. Tuy nhiên, nếu như lớp nhỏ không thực hiện mang đến lớp thân phụ, nó cũng trở thành là 1 trong những lớp trừu tượng.

2. Abstract Class với Interface

Abstract Class kiểu như với Interface. quý khách hàng rất nhiều quan trọng tạo nên đối tượng người dùng cho chúng. Chúng hầu như có thể chứa các method được khai báo có hoặc không có thực thi. Tuy nhiên, cùng với Abstract Class, bạn có thể knhị báo hồ hết ngôi trường không tĩnh. quý khách hàng cũng có thể xác minh những method công khai, method được bảo đảm an toàn và method rõ ràng riêng rẽ tư.

Xem thêm: What Is The Meaning Of "Get On Board Là Gì, What Is The Meaning Of Get On Board

Với Interface, các ngôi trường hầu như auto là công khai minh bạch cùng tĩnh. Các method các bạn khai báo tuyệt quan niệm (là phần đa method mặc định) phần nhiều là công khai minh bạch. Hình như, chúng ta chỉ hoàn toàn có thể extkết thúc một lớp, cho dù lớp đó có trừu tượng hay không. Nhưng bạn lại rất có thể xúc tiến không giới hạn số lượng Interface.

3. Sử dụng Abstract Class và Interface

quý khách phải quan tâm đến thực hiện Abstract Class trong những ngôi trường vừa lòng sau:

Bạn hy vọng chia sẻ code thân một vài ba lớp tất cả liên hệ thân thiết.quý khách mong rằng rằng gần như lớp extend Abstract Class của khách hàng gồm tầm thường các method hoặc ngôi trường hoặc tận hưởng truy cập cỗ điều chỉnh ráng bởi công khai minh bạch cỗ kiểm soát và điều chỉnh. (lấy ví dụ là được đảm bảo an toàn hoặc riêng biệt tư).Bạn ý muốn knhị báo ngôi trường đụng hoặc ngôi trường tĩnh. Vấn đề này cho phép chúng ta quan niệm method rất có thể tiếp cận với kiểm soát và điều chỉnh đặc điểm của đối tượng người dùng.

Với Interface, bạn nên thực hiện khi:

Quý khách hàng mong rằng rằng hầu hết lớp ko tương quan đang thực hiện interface của công ty. lấy ví dụ như, Interface ComparableCloneable được triển khai vì gần như lớp không liên quan.Quý Khách ý muốn ví dụ hóa hành vi của một một số loại dữ liệu nhất định, tuy vậy không bận tâm đến ai sẽ thực thi hành động.quý khách mong muốn tận dụng tối đa những các loại kế thừa (inheritance).

4. Ví dụ về Abstract Class

Trường hòa hợp buộc phải sử dụng Abstract Class

Trong một phần mượt vẽ phía đối tượng người dùng, bạn cũng có thể vẽ hình tròn, hình chữ nhật, mặt đường kẻ, đường cong Bezier… Những đối tượng người sử dụng này này đều sở hữu các đặc điểm nhất mực (như vị trí, triết lý, color đường viền, màu trong) với những hành động (như dịch rời, cù, điều chỉnh size, vẽ).

Một vài tính chất và hành vi của những đối tượng người tiêu dùng này là giống như nhau (nhỏng địa chỉ, màu viền, di chuyển). Số khác hưởng thụ đa số triển khai không giống nhau như điều chỉnh kích thước hay vẽ. Tất cả những GraphicObject yêu cầu có khả năng vẽ tuyệt kiểm soát và điều chỉnh kích cỡ của nó, chỉ khác nhau sinh sống biện pháp chúng thực hiện việc đó.

Sử dụng Abstract Class

Đây là 1 trong những ngôi trường phù hợp tuyệt đối hoàn hảo để thực hiện lớp phụ vương là Abstract Class. Quý khách hàng rất có thể tận dụng phần lớn điểm tương tự nhau và khai báo các đối tượng người dùng này phần đông kế thừa tự đối tượng cha là GraphicObject. Mô hình tiếp sau đây biểu lộ rõ mọt liên hệ này:

*

Thứ nhất, bạn knhì báo một Abstract Class, tại chỗ này chính là GraphicObject, nhằm cung cấp những trở thành viên và các method được áp dụng bởi tất cả các lớp nhỏ. Đó có thể là địa chỉ bây chừ cùng method moveTo. GraphicObject cũng phải khai báo những method trừu tượng cho phần method, ví như draw tuyệt rekích thước để hoàn toàn có thể triển khai phần đông lớp nhỏ. Tuy nhiên các method này nên được tiến hành một biện pháp không giống nhau. Lớp phụ vương GraphicObject trông nhỏng sau:

Mỗi lớp con không trừu tượng của GraphicObject, nhỏng Circle với Rectangle, đề nghị cung cấp tiến hành cho những method draw với resize:

Khai báo lớp ko trừu tượng nằm trong một lớp thân phụ Abstract Class

Got It mong muốn rằng bài viết trên phía trên đã cung cấp cho mình một cái quan sát không thiếu hơn về Abstract Class là gì. Happy Coding!

Got It Vietnam giới – Tmê mệt khảo: Guru99, Oracle, W3schools


Nếu các bạn quyên tâm, hãy coi các vị trí sẽ tuyển dụng của Got It tại: bit.ly/gotit-hanoi với bài viết liên quan về tiến trình tuyển dụng trên trên đây.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *