Lập trình hướng đối tượng là gì? OOP là gì?

1. Mở đầu

Lập trình hướng đội tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là một mô hình lập trình được tổ chức, xây dựng xung quanh đối tượng.
Người lập trình viên sẽ mô hình hóa các bài toán thực tế thành các thực thể (gọi là class). Thực thể này sẽ có các thuộc tính (gọi là biến – variable – thuộc tính – property) và các hành động (gọi là hàm – method – function). Cái mà thể hiện thực thể một cách cụ thể hóa thì được gọi là Object.

Ví dụ: Bài toán thực tế là lập trình một phần mềm để quản lý sinh viên. 
Từng bước giải quyết bài toán này nhé  :40: 

  • Tạo một thực thể – Class có tên là: Student.
  • Sinh viên thì có vài thuộc tính chính (variable): tên, tuổi, mã sinh viên…
  • Sinh viên có các hành động (method/phương thức) cơ bản: đăng ký lớp học

Okey nhỉ? mình đã thấy có class rồi, variable rồi, method rồi…. Vậy còn Object trong bài toán thực tế này là gì?

Cái mà thể hiện Class một cách cụ thể hóa thì được gọi là Object.

Oh, vậy giả định có tất cả 2 sinh viên:
Sinh viên 1: có tên: hanhtrinhtuoitre.com, tuổi: 26, mã sinh viên: 123
Sinh viên 2: có tên: Dinh Cong Manh, tuổi: 55, mã sinh viên: 999

Có lần mình phỏng vấn ứng viên phân biệt giữ Object và Class, đây là một câu hỏi cơ bản nhưng nhiều bạn vẫn lúng túng khi trả lời.  :26: 

2. Kế thừa

Là khi một Class (Child Class) được định nghĩa bằng việc kế thừa (inheriting) một Class đã tồn tại (Parent Class). Khi kế thừa, các Child Class (hoặc gọi là SubClass) sẽ kế thừa tất cả hoặc một phần các phương thức, biến của Parent Class.

3. Các đặc tính của OOP

Việc học và nắm vững các đặc tính của OOP là điều cần thiết để có thể đi xa hơn trong con đường lập trình. Cá nhân mình, đôi lúc cũng ngồi đọc và nghĩ lại để hiểu rõ hơn sau mỗi giai đoạn nghề nghiệp.
Đây sẽ làm nền móng để bạn có thể tiếp cận hơn với những điều thú vị, ví thế đừng coi thường lý thuyết cơ bản này nhé.
Hanhtrinhtuoitre sẽ viết về các đặc tính của OOP trong các bài tiếp theo  :x1: 

Chờ đón nhé! :39: 

Series Navigation[OOP] Tính đóng gói trong OOP – Encapsulation >>

Join the Conversation

2 Comments

Leave a comment

Leave a Reply