Lập trình hướng đối tượng là gì – My Notes

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

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

  • Lập trình hướng đối tượng (Object Oriented Programming — OOP): là một kỹ thuật lập trình, trong đó chương trình sẽ được chia ra thành các phần nhỏ được gọi là đối tượng (Object).
  • Đối tượng trong lập trình hướng đối tượng sẽ tương ứng với các thực thể trong bài toán, nó sẽ có các thuộc tính (attribute), các hành động (method). Các đối tượng có thể tương tác với nhau.
  • Các ngôn ngữ lập trình hướng đối tượng: Java, C#, Python, Ruby, Swift, Object-C
  • Các tính chất cơ bản của lập trình hướng đối tượng: tính trừu tượng, tính đóng gói, tính đa hình, tính kế thừa

Thế nào là ngôn ngữ lập trình?¶

Một ngôn từ được coi là ngôn từ lập trình hướng đối tượng nếu phân phối đủ 4 đặc thù sau :

  • Tính đóng gói (Encapsulation)
  • Tính trừu tượng (Abstraction)
  • Tính kế thừa (Inheritance)
  • Tính đa hình (Polymorphism)

Ưu điểm lập trình hướng đối tượng¶

  • Dữ liệu không bị thay đổi tự do trong chương trình như lập trình cấu trúc.
  • Khi thay đổi cấu trúc dữ liệu của một đối tượng, không cần thay đổi các mã nguồn của các đối tượng khác mà chỉ cần thanh đổi một một số hàm thành phần
  • Có thể sử dụng lại mã nguồn qua kế thừa
  • Phù hợp các phần mềm phức tạp, lớn.
  • Được đánh giá là dễ học, năng suất, đơn giản, dễ bảo trì, dễ mở rộng…

Phương pháp nghiên cứu và phân tích / phong cách thiết kế hướng đối tượng :
* * Giai đoạn nghiên cứu và phân tích : c * * huyển đổi bài toán từ ngôn từ tự nhiên sang ngôn từ quy mô .

Giai đoạn thiết kế: chuyển từ ngôn ngữ mô hình sang dạng cụ thể có thể cài đặt được

  • Mô tả bài toán
  • Đặc tả yêu cầu
  • Trích chọn đối tượng
  • Mô hình hóa đối tượng
  • Thiết kế tổng quan
  • Thiết kế chi tiết.

Sau giai đoạn phân thích và thiết kế, lập trình viên có thể nhìn vào các tài liệu đã lập và có thể viết code được luôn. Nếu vẫn có những trường hợp chưa biết code như nào thì tức là pha thiết kế đã bị bỏ sót hoặc chưa chi tiết.

(Ngày trước thầy giáo vẫn kêu là thằng viết code chỉ là thằng công nhân lao động theo bản thiết kế, muốn lương cao thì phải làm phân tích thiết kế 😐 nhưng ngành phần mềm ở Việt Nam thì ít có công ty nào mà các giai đoạn được làm chi tiết như thế, lập trình viên mới đi làm sẽ làm tất các bước hoặc một số bước, mỗi cái một ít  :mrgreen:  )

Lập trình hướng đối tượng là gì? Ưu, nhược điểm¶

References :
https://vi.wikipedia.org …