Oop là viết tắt của từ gì năm 2024

Các tài liệu định nghĩa lập trình hướng đối tượng (viết tắt là OOP) khác nhau. Theo định nghĩa từ wikipedia thì:

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).

Source Wikipedia

Định nghĩa trên có thể tóm gọn rằng OOP là một phương thức lập trình kiểu mẫu dựa trên khái niệm đối tượng. Trong lập trình OOP, các hành vi và thuộc tính của một đối tượng (object) được được đóng gói thành những lớp (class) chuyên biệt. Điều này cũng giống như bạn muốn sửa ống nước thì bạn cần một hộp dụng cụ mà bên trong đóng gói tất cả các thứ bạn cần như cưa, máy khoan, keo dán, ống nước,… với các chức năng như cưa, đục, hàn gắn, nối ống,… Khi muốn sửa ống nước bạn chỉ cần nhớ tới đối tượng là hộp dụng cụ và lôi ra dùng dễ dàng.

Kiểu mẫu OOP là một thiết kế lập trình sáng tạo và linh hoạt vì nó có thể mô hình hoá các đối tượng trong thế giới thực thành các đối tượng trong lập trình mà ở đây những đối tượng này có dữ liệu đính kèm với nó và có thể thực hiện các chức năng nhất định.

Để minh hoạ cho phương thức hoạt động của OOP thì lập trình game là ví dụ trực quan nhất. Bạn còn nhớ trò chơi Supper Mario huyền thoại chứ? trong trò chơi này nhân vật chính là Mario. Để tạo ra nhân vật Mario trong thế giới lập trình thì ta phải mô phỏng lại các đặc điểm (được gọi là thuộc tính) của nhân vật như: Chiều cao, số mạng, điểm số, loại đạn đang sử dụng,… Nhưng đó mới chỉ là phần bề nổi của nhân vật. Để chúng ta có thể điều khiển được nhân vật thì phải có các hàm chức năng riêng như: Di chuyển, nhảy, bắn đạn, cứu công chúa,… Đó chính là ý nghĩa của phương thức và thuộc tính trong OOP.

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

Lập trình hướng đối tượng chính là cuộc cách mạng của ngành lập trình, nó giúp cho các sản phẩm lập trình trở nên có hệ thống hơn. Trước khi lập trình hướng đối tượng ra đời thì lập trình hàm là hình mẫu phổ biến của lập trình. Lập trình hàm chỉ quan tâm tới các thủ tục (tức là các hàm) và trình tự thực hiện. Khi vận hành một chương trình theo lập trình hàm sẽ quan tâm tới thứ tự vận hành các hàm thủ tục như thế nào. Nhưng lập trình hướng đối tượng có thể giúp ta làm được nhiều việc hơn thế, đó là:

  • Chương trình trở nên có hệ thống hơn: Trước khi tiến hành viết một chương trình ta phải nghĩ đến thiết kế bên dưới của chương trình. Mỗi quan hệ giữa các đối tượng trong chương trình của chúng ta như thế nào? Từ đó chúng ta sẽ đưa ra một thiết kế hệ thống cho chương trình và tiến hành viết chương trình.
  • Có khả năng kế thừa: Kế thừa là một ưu điểm cực kỳ vượt trội của OOP. Khả năng kế thừa giúp cho code trở nên ngắn gọn và khoa học hơn, tiết kiệm được thời gian phát triển ứng dụng. Nhờ khả năng kế thừa mà các class con có thể sở hữu toàn bộ các phương thức và thuộc tính của class cha. Các bạn sẽ rõ hơn về khái niệm kế thừa ở những chương ví dụ bên dưới.

Khả năng đóng gói: Phương trâm của OOP là tất cả các phương thức và thuộc tính cần thiết cho một đối tượng đều được gói gọn trong một class. Nhờ vậy code của chúng ta không bị phân tán ở nhiều nơi. Khi cần sử dụng thứ gì thì có thể khởi tạo class. Tất cả các phương thức và thuộc tính đã được đóng gói trong class nên có thể truy cập và sử dụng khi gọi tên chúng.

OOP ( Viết tắt của Object Oriented Progamming ) - Lập trình hướng đối tượng là một phương pháp lập trình dựa trên khái niệm lớp và đối tượng. OOP tập trung hơn vào cái đối tượng hơn là khai thác logic để thao tác chúng, giúp code dẽ quản lý, tái sử dụng được và dễ bảo trì

Bất kỳ developer nào muốn đi trên con đường lập trình cũng phải biết về OOP

Đọc bài viết này để biết:

  • OOP là gì? Đối tượng và lớp trong OOP là gì?
  • Các đặc tínhc cơ bản của OOP là gì ?

- Lập trình hướng đối tượng (OOP) dùng để làm gì? OOP được dùng để làm gì?

OOP (Viết tắt của Objec Oriented Progamming) - lập trình hướng đối tượng là một phương pháp lập trình dựa trên khái niệm về lớp và các đôi tượng. OOP tập trung vào các đối tượng hơn là logic để thao tác chúng

OOP là nền tảng của các design patten hiện tại.

Đọc thêm: Design pattern là gì? Vì sao nên học design pattern?

Mục tiêu của OOP là tối ưu các việc quản lý soucre code, giúp tăng khả năng tái sử dụng và quan trọng hơn hết là giúp tóm tắt các thủ tục đã biết trước tính chất thông qua việc sử dụng các đôi tượng

- Đối tượng (Object) và Lớp (Class) trong OOP là gì?

Đối Tượng Object)

Đối tượng trong OOP gòm 2 thành phần chính:

  • thuộc tính (Attribute): là những thông tin đặc điểm đối tượng
  • phương thức (Method): là những hành vi mà đối tượng có thể thực hiện

Dễ hình dung ta có một đối tượng là smartphone đối tượng này sẽ có:

  • thược tính: màu sắc, bộ nhớ, hệ điều hành...
  • phương thức: gọi điện, chụp ảnh, nhắn tin, ghi âm...

Lớp (Class)

lớp là sự trừu tượng hoá của đối tượng. Những đối tượng có đặc tính tương tự nhau sẽ được tập hợp thành một lớp. Lớp cũng sẽ bao gồm 2 thuộc tính và phương thức.

Một đối tượng sẽ được xem là 1 thực thể của lớp.

Tiếp nối ví dụ ở phần đối tượng (Object) phía trên ta có lớp (Class) smartphone gồm 2 thành phần:

  • thuộc tính: màu sắc, bộ nhớ, hệ điều hành...
  • phương thức: gọi điện, chụp ảnh, nhắn tin, ghi âm...

các đối tượng của lớp này có thể là: iphone, Samsung, Oppo, Huawei...

- ƯU Điểm của lập trình hướng đối tượng OOP

  • OOP mô hình hoá những thứ phức tạp dưới dạng cấu trúc đơn giản.
  • Code OOP có thể sử dụng lại, giúp tiết kiệm tài nguyên.
  • Giúp sửa lỗi dẽ dàng hơn. so với việc tìm lỗi ở nhiều vị trí trong code thì tìm lỗi trong các ớp (được cấu trúc từ trước) đơn giản hơn và ít mất thời gian hơn.
  • Có tính bảo mật cao, bảo vệ thông tin qua tính đóng gói.
  • Dễ mở rộng dự án.

- 4 Đặc tính cơ bản của OOP

1. Tính Đóng gói (Encapsulation)

Oop là viết tắt của từ gì năm 2024

Tính đóng gói cho phép che giấu thông tin và những tính chất xử lý bên trong của đối tượng. Các đối tượng khác đều không thể tác động trực tiếp đến dữ liệu bên trong và thay đổi trạng thái của các đối tượng mà bắt buộc phải thông qua các phương thức công khai do đối tượng đó cung cấp

Tính chất này giúp tăng tính bảo mật cho đối tượng và tránh tình trạng dữ liệu bị hư hỏng ngoài ý muốn.

2. Tính kế thừa (Inheritance)

Đây là tính chất được sử dụng khá nhiều. Tính kế thừa cho phép xây dụng một lớp mới (lớp Con), kế thừa và tái sử dụng các thuộc tính phương thức dựa trên lớp cũ (lớp Cha) đã có trước đó.

Các lớp Con kế thừa toàn bộ thành phần của lớp Cha và không cần phải đinh nghĩa lại. Lớp có có thể mở rộng các thành phần kế thừa hoặc bổ sung những thanh phần mới

Ví dụ:

  • Lớp Cha là smartphone, có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành...
  • Các lớp Con là IPhone, Samsung, Oppo cũng có các thuộc tinh màu sắc và bộ nhớ, hệ điều hành...

3. Tính đa hình (Polymorphim)

Tính đa hình trong lập trình OOP cho phép các đối tượng khác nhau thực thi chức năng giống nhau theo những cách khác nhau.

ví dụ:

  • Ở lớp smartphone, mỗi một dòng máy đều kế thừa các thành phần của lớp cha nhưng Iphone chạy trên hệ điều hành IOS còn Samsung lại chạy trên hệ điều hành Androi.
  • Chó và mèo cùng nghe mệnh lệnh "Kêu đi " từ người chủ. Chó sẽ "gâu gâu" còn mèo lại "meo meo".

Oop là viết tắt của từ gì năm 2024

4. Tính trừu tượng

Tính trừu tượng giúp loại bỏ những thứ phức tạp không cần thiết của đối tượng và chỉ tâp trung vào những thứ cốt lõi quan trọng