Lập trình hướng đối tượng là kỹ thuật lập trình mà tất cả các logic, yêu cầu thực tế đều được xây dựng xoay quanh các đối tượng. Khi sử dụng lập trình hướng, chúng ta sẽ định nghĩa các class để mô hình hóa các đối tượng thực tế. Trong ứng dụng các class sẽ được khởi tạo thành các instance. Trong suốt thời gian ứng dụng chạy, các phương thức (method) của đối tượng này sẽ được gọi.
>>> Xem ngay: Giải mã 4 tính chất của lập trình hướng đối tượng
Ý tưởng của tính đóng gói (Encapsulation) là đảm bảo việc triển khai chi tiết dữ liệu không cần biết bởi người sử dụng. Các biến của một lớp sẽ là ẩn với các lớp khác, truy cập dữ liệu của một lớp chỉ thực hiện thông qua phương thức chứ không truy cập thẳng tới biến. Để truy cập các biến lập trình Java cung cấp các hàm public là hàm seter và getter.
Tính kế thừa (Inheritance) có nghĩa là một lớp nhận được - có được các thuộc tính, phương thức từ một lớp khác. Lớp nhận được các thuộc tính gọi là lớp con và lớp kia gọi là lớp cha, lớp cơ sở. Với Java sử dụng từ khóa extends để khai báo lớp cha.
>>>> Review 5 cuốn sách học lập trình Java hay nhất mọi thời đại
Tính đa hình (Polymorphism), ám chỉ tới ý tưởng có nhiều hình dạng, điều này xảy ra khi có một sự kế thừa các lớp có sự liên quan nhau. Việc gọi một phương thức sẽ có thể có sự khác nhau khi thi hành, nó phụ thuộc vào kiểu đối tượng được gọi.
Một lớp con kế thừa các phương thức của lớp cha, nhưng nó vẫn có thể định nghĩa lại cách hoạt động của phương thức nào đó, đó chính là nạp chồng phương thức. Nạp chồng còn gọi với thuật ngữ là Đa hình khi chạy.
Các nguyên tắc khi nạp chồng
Khi các phương thức có cùng tên nhưng tham số khác nhau thì gọi là sự quá tải phương thức. Khi gọi phương thức, tuy vào tham số và trình biên dịch quyết định gọi phương thức phù hợp.
Dữ liệu trừu tượng là cách bao quát thông tin thế giới xung quanh, nó mô ta một cách tổng quát hóa mà không chi tiết. Khái niệm trừu tượng dùng để mô tả cả một tập hợp, loài, dạng ... hơn là một trường hợp cụ thể. Java trừu tượng hóa thông qua các lớp trừu tượng và các giao diện (interface).
Một lớp trừu tượng định nghĩa với từ khóa abstract và khi đó:
>> Tìm hiểu thêm: Lập trình hướng đối tượng c++ cho người mới bắt đầu
Giao diện được tạo ra như lớp với từ khóa interface, nó hoàn toàn giống với lớp abstract chỉ có chứa các phương thức trừu tượng.
Một số tính chất của interface:
Hy vọng sau bài viết này cũng như các khóa học lập trình bạn đã có thể hiểu rõ thêm về một số điểm cơ bản của lập trình hướng đối tượng Java và những tính chất đặc trưng của nó trước khi đi vào tìm hiểu từng phần và làm bài tập thực hành.