4 tính chất trong lập trình hướng đối tượng

Xin chào tất cả các bạn. Có lẽ với những người đang đọc bài viết này của mình thì mình tin chắc rằng các bạn đã từng được học hay là tự tìm hiểu qua một khái niệm cơ bản và cũng không kém phần quan trọng trong lập trình đó là Ô Ô PÊ (OOP – lập trình hướng đối tượng) đúng không? Trong OOP thì có 4 khái niệm hay đúng hơn là tính chất cơ bản đó là: tính đóng gói, tính trừu tượng, tính thừa kế, tính đa hình. 4 tính chất trên trong OOP chính là nền tảng của những nguyên lý hay những pattern giúp cho những dự án được phát triển một cách khoa học.

1. Tính đóng gói (Encapsulation)
Tính đóng gói nhằm bảo vệ đối tượng không bị truy cập từ code bên ngoài vào để thay để giá trị các thuộc tính hay có thể truy cập trực tiếp. Việc cho phép truy cập các giá trị của đối tượng tùy theo sự đồng ý của người viết ra lớp của đối tượng đó. Tính chất này đảm bảo sự bảo mật, toàn vẹn của đối tượng trong Java.
2. Tính trừu tượng (Abstraction)
Tính trừu tượng là một tiến trình ẩn các chi tiết trình triển khai, chỉ hiển thị tính năng tới người dùng. Tính trừu tượng cho phép bạn loại bỏ tính chất phức tạp của đối tượng bằng cách chỉ đưa ra các thuộc tính và phương thức cần thiết của đối tượng.
Tính trừu tượng giúp tập trung vào những cốt lõi cần thiết của đối tượng thay vì quan tâm đến cách mà nó thực hiện.
3. Tính thừa kế (Inheritance)
Tính kế thừa cho phép ta xây dựng một lớp mới dựa trên các định nghĩa của một lớp đã có. Lớp đã có gọi là lớp Cha, lớp mới phát sinh là lớp Con và đương nhiên kế thừa tất cả các thành phần của lớp Cha, có thể chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
4. Tính đa hình (Polymorphism)
Tính đa hình là hiện tượng các đối tượng thuộc các lớp khác nhau có thể hiểu cùng 1 thông điệp theo các cách khác nhau.
Một ví dụ về đa hình trong thực tế. Ta có 3 con vật: chó, mèo, lợn. Cả 3 con vật này đều là động vật. Nhưng khi ta bảo cả 3 động vật kêu thì con chó sẽ kêu gâu gâu, con mèo sẽ kêu meo meo và con heo sẽ kêu ẹt ẹt.
Trong ví dụ trên 3 con vật: chó, mèo, lợn xem như là các đối tượng. Việc ta bảo 3 động vật kêu chính là thông điệp. Rõ ràng cả 3 con vật có thể hiểu cùng 1 thông điệp là kêu theo các cách khác nhau.