Bốn tính chất của hướng đối tượng trong Java
Lập trình Java cơ bản đến hướng đối tượng

Danh sách bài học
Bốn tính chất của hướng đối tượng trong Java
Dẫn nhập
Trong các bài học Java vừa qua, chúng ta đã tích lũy được những kiến thức cơ bản và hướng đối tượng của ngôn ngữ Java. Thực tế, kiến thức của một ngôn ngữ lập trình là không thể học hết được, ta chỉ có thể biết được nó qua những vấn đề dự án khi cần. Đây là bài học cuối trong khóa học này, nhưng là tiền đề để các bạn nghiên cứu những kiến thức nâng cao hơn.
Nào! chúng ta cùng vào bài Bốn tính chất của hướng đối tượng trong Java
Nội dung
Để đọc hiểu bài này, tốt nhất các bạn nên có kiến thức cơ bản về các phần sau:
- CÁC BIẾN TRONG JAVA.
- CÁC KIỂU DỮ LIỆU TRONG JAVA.
- CÁC HẠNG TOÁN TỬ TRONG JAVA
- CẤU TRÚC RẼ NHÁNH TRONG JAVA
- VÒNG LẶP WHILE TRONG JAVA
- VÒNG LẶP FOR TRONG JAVA
- MẢNG TRONG JAVA
- VÒNG LẶP FOR-EACH TRONG JAVA
- VAI TRÒ BREAK, CONTINUE TRONG VÒNG LẶP JAVA
- SWITCH TRONG JAVA
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- CLASS TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- CÁC LOẠI PHẠM VI TRUY CẬP TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- TỪ KHÓA STATIC TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- TỪ KHÓA THIS TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- THỪA KẾ TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- SETTER & GETTER TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- OVERRIDING VÀ OVERLOADING TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- TÍNH TRỪU TƯỢNG TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- INTERFACE TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
- PHƯƠNG THỨC MAIN TRONG JAVA
- TRY CATCH TRONG JAVA
Bài này chúng ta sẽ tìm hiểu những vấn đề sau:
- 4 tính chất trong hướng đối tượng là gì?
- Ý nghĩa của mỗi tính chất.
4 tính chất trong hướng đối tượng là gì?
Đây là 4 tính chất góp phần tạo nên khái niệm lập trình hướng đối tượng, chúng có thể tồn tại trong các ngôn ngữ tuân theo hướng đối tượng, đặc biệt đối với những ngôn ngữ thuần hướng đối tượng như C++, Java, C#, Ruby,… sẽ có đủ 4 tính chất này.
Nếu bạn đã chọn các ngôn ngữ thuần hướng đối tượng gắn liền với sự nghiệp lập trình, thì bắt buộc bạn phải nhớ và hiểu các tính chất này, khi bạn hiểu mới có thể đi lên cao trong phát triển phần mềm đồng thời hiểu sâu trong kĩ thuật.
4 tính chất đó là:
- Tính đóng gói (Encapsulation)
- Tính trừu tượng (Abstraction)
- Tính thừa kế (Inheritance)
- Tính đa hình (Polymorphism)
Ý nghĩa của mỗi tính chất
Tính đóng gói
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.
Tính chất này được thể hiện qua các bài:
- CÁC LOẠI PHẠM VI TRUY CẬP TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA.
- SETTER VÀ GETTER TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA
Tính trừu tượng
Tính trừu tượng là một tiến trình chỉ nói ra tính năng của người dùng, các khái niệm được định nghĩa trong quá trình phát triển, bỏ qua những chi tiết triển khai bên trong. Tính trừu tượng cho phép người lập trình tập trung cốt lõi cần thiết của đối tượng thay vì quan tâm sự phức tạo bên trong hoặc cách nó hoạt động.
Tính chất này được thể hiện qua các bài:
- TÍNH TRỪU TƯỢNG TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA
- INTERFACE TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA
Tính kế thừa
Tính kế thừa cho phép chúng ta cải tiến chương trình bằng cách kế thừa lại lớp cũ và phát triển những tính năng mới. Lớp con sẽ kế thừa tất cả những thành phần của lớp cha, nhờ sự chia sẻ này mới có thể mở rộng những đặc tính sẵn có mà không cần phải định nghĩa lại.
Tính chất này được thể hiện qua các bài:
Tính đa hình
Tính đa hình có thể nói luôn tồn tại song song với tính kế thừa. Khi có nhiều lớp con kế thừa lớp cha nhưng có những tính chất khác nhau cũng gọi là đa hình, hoặc những tác vụ trong cùng một đối tượng được thể hiện nhiều cách khác nhau cũng gọi là đa hình. Tính đa hình là kết quả tất yếu khi ta phát triển khả năng kế thừa và nâng cấp chương trình.
Ví dụ: trong hình học tứ giác, hình thang có 3 lớp con là hình thang cân, hình thang vuông và hình bình hành. Vì 3 hình này có vài tính chất riêng biệt nên có thể gọi là tính đa hình.
Tính chất này được thể hiện qua các bài:
Kết
Như vậy chúng ta đã tìm hiểu xong về 4 tính chất của hướng đối tượng. Mong những kiến thức vừa qua sẽ giúp bạn nắm được những kiến thức hướng đối tượng nói chung và ngôn ngữ Java nói riêng.
Sau loạt bài này, các bạn có thể tìm hiểu những kiến thức nâng cao hơn của Java như Java Collection, Java JDBC, Hibernate… Hay tìm hiểu những kiến thức phát triển phần mềm như: Phát triển ứng dụng máy tính (Java Swing, JavaFX), phát triển Web (Spring MVC, Spark), Phát triển Mobile (Android).
Bạn cũng có thể mời tác giả khóa học một ly cafe hoặc Tài trợ cho các khóa học khác, giúp ai cũng có cơ hội tiếp cận GIÁO DỤC MIỄN PHÍ qua link bên dưới!
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Bốn tính chất của hướng đối tượng trong Java dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Khóa học
Lập trình Java cơ bản đến hướng đối tượng
Với mục đích giới thiệu đến mọi người về Ngôn ngữ Java - một ngôn ngữ lập trình khá mới mẻ so với C, C++, Java, PHP ở Việt Nam.
Thông qua khóa học LẬP TRÌNH JAVA CƠ BẢN ĐẾN HƯỚNG ĐỐI TƯỢNG, Kteam sẽ hướng dẫn các bạn kiến thức cơ bản của Java. Để từ đó, có được nền tảng cho phép bạn tiếp tục tìm hiểu những kiến thức tuyệt vời khác của Java hoặc là một ngôn ngữ khác.
Cụ thể trong khóa học này, Kteam sẽ giới thiệu với các bạn Java ở phiên bản Java 8
Cảm ơn kteam
Cuối cùng cũng đến được đây. Cảm ơn anh Long và đội ngũ Kteam rất nhiều!
Cam on
Cảm ơn Kteam!
Cảm ơn Kteam <3