ĐỐI TƯỢNG(Object):là đơn vị cơ sở của lập trình hướng đối tượng , trong đó dữ liệu và các hàm xử lý trên dữ liệu được gói chung như 1 đơn vị gọi là đối tượng .Trên thực tế , đối tượng còn có nghĩa vật chất là “things” . Đã là vật chất khi để khám phá nó ta cần phải biết nó có gì (data) và nó thực hiện được những gì (method, function).
Lớp(Class):chỉ đơn thuần là 1 từ khóa dùng để biểu diễn đối tượng (định nghĩa đối tượng, thiết kế đối tượng).Khi biểu diễn đối tượng (định nghĩa, biểu diễn hoặc thiết kế)trong 1 lớp ta cần mô tả đối tượng đó có những đặc trưng gì (data abstraction) và những hành vi nào của đối tượng áp đặt trên các đặc trưng đó (functional abstraction).
Trừu tượng dữ liệu (Data Abstraction): trừu tượng dữ liệu hàm ý việc cung cấp thông tin cần
thiết ra thế giới bên ngoài (thế giới của các đối tượng khác) và ẩn dấu đi những thông tin riêng
biệt. Ví dụ, các hệ cơ sở dữ liệu ẩn dấu đi việc làm thế nào để tạo lập, lưu trữ, và duy trì CSDL.
Một class cung cấp các phương thức khác nhau ra thế giới bên ngoài nhưng ẩn dấu đi những
đặc trưng riêng của khi xử lý dữ liệu và các phương thức cục bộ
Tính đóng gói (Encapsulation): đặt dữ liệu và các hàm thích hợp cùng trong một đối tượng.
Tính kế thừa (Inheritance): Một trong những đặc trưng quan trọng của OOP là sử dụng lại
code có trước. Phép kế thừa cho phép định nghĩa một lớp (đối tượng) có nguồn gốc từ một
hoặc nhiều lớp có trước được gọi là lớp cơ sở.
Tính đa trạng thái (Polymorphism): Hình thái của các phép toán hoặc các hàm có thể được
thay đổi theo mỗi đối tượng khác nhau.
Tính chịu tải (Overloading): Giống như Polymorphism, mỗi khi có sự thay đổi về hình thái
dẫn đến sự thay đổi về dữ liệu và phương thức thích hợp