Thuộc tính (attributes) và dữ liệu thành viên
Một chiếc xe, ngoài khả năng hoàn thành nhiệm vụ của nó, cũng có các thuộc tính, như màu sắc, số
lượng các cửa, lượng gas trong bình, tốc độ hiện thời và bảng ghi số dặm đã lái. Cũng như chức năng
của nó, các thuộc tính của chiếc xe cũng là một phần của thiết kế (ví dụ, như đồng hồ đo dặm và định
lượng dầu). Khi bạn lái một chiếc xe, những thuộc tính này được gán cho chiếc xe. Mỗi chiếc xe có
những thuộc tính của riêng nó. Ví dụ, mỗi chiếc xe biết có bao nhiêu gas trong bình, nhưng không
biết có bao nhiêu gas trong bình của xe khác.
Tương tự, một đối tượng cũng có những thuộc tính của nó khi nó được sử dụng trong chương trình. Những
thuộc tính này được chỉ rõ như là một phần trong class của object. Ví dụ, đối tượng là tài khoản ngân
hàng có thuộc tính số dư cái biểu thị lượng tiền trong tài khoản. Mỗi đối tượng tài khoản ngân hàng biết
số dư trong tài khoản của nó, nhưng không biết số dư trong tài khoản khác. Thuộc tính được chỉ rõ bởi
class s data members.
Bao gói (encapsulation)
Các lớp bao gói thuộc tính và member functions vào trong các objects của nó. Các đối tượng có thể liên lạc
với nhau, nhưng thường thì chúng không được phép biết các đối tượng khác được thực hiện như thế nào.
Ẩn thông tin là yếu tố then chốt đối với software engineering.
Tính kế thừa (inheritance)
Một lớp mới của các objects có thể được tạo ra nhanh chóng và thuận lợi bởi tính kế thừa. Một class mới nhập
vào những đặc tính của class hiện có, định tính nó và thêm vào những đặc tính duy nhất của riêng nó. Trong
hình tượng chiếc xe của chúng ta, object của class “chuyển đổi được” là đối tượng của class chung hơn
“ô tô”, nhưng cụ thể hơn, mái xe có thể nâng cao hơn hay hạ thấp hơn.