Lập trình hướng đối tượng và lập trình thủ tục
Lập trình hướng đối tượng (OOP) và lập trình thủ tục là hai mô hình lập trình. Mô hình lập trình là một phong cách cơ bản của lập trình máy tính và chúng khác nhau về cách các yếu tố khác nhau của chương trình được trình bày và cách xác định các bước để giải quyết vấn đề. Như tên cho thấy, OOP tập trung vào việc biểu diễn các vấn đề bằng cách sử dụng các đối tượng trong thế giới thực và hành vi của chúng trong khi đó, Lập trình thủ tục xử lý các giải pháp cho các vấn đề bằng cách sử dụng các quy trình, là các bộ sưu tập mã chạy theo một thứ tự cụ thể. Có các ngôn ngữ lập trình hỗ trợ các khía cạnh chính của OOP (được gọi là ngôn ngữ OOP), Thủ tục (được gọi là ngôn ngữ Thủ tục) và cả hai. Nhưng một điều quan trọng cần lưu ý là OOP và Thủ tục là hai cách thể hiện các vấn đề cần giải quyết và việc sử dụng ngôn ngữ nào không quan trọng. Nói cách khác, ngôn ngữ OOP có thể được sử dụng cho Lập trình thủ tục trong khi ngôn ngữ thủ tục đôi khi có thể được sử dụng cho OOP, với một số nỗ lực.
Lập trình thủ tục là một cách lập trình bằng cách xác định tập hợp các bước để giải quyết một vấn đề nhất định và thứ tự chính xác mà chúng cần được thực hiện để đạt được kết quả hoặc trạng thái mong muốn. Ví dụ: nếu bạn muốn tính số dư cuối tháng cho tài khoản ngân hàng, thì các bước bắt buộc sẽ như sau. Đầu tiên, bạn có được số dư ban đầu của tài khoản và sau đó bạn giảm tất cả số tiền ghi nợ xảy ra trong tháng. Sau đó, bạn thêm tất cả số tiền tín dụng xảy ra trong tháng. Khi kết thúc quá trình, bạn sẽ nhận được số dư cuối tháng của tài khoản. Một trong những khái niệm chính của Lập trình thủ tục là cuộc gọi Thủ tục. Một thủ tục còn được gọi là chương trình con, phương thức hoặc hàm chứa một danh sách các lệnh được thực hiện theo thứ tự. Một thủ tục có thể được gọi bất cứ lúc nào trong quá trình thực hiện bởi bất kỳ thủ tục nào khác hoặc bằng chính nó. Ví dụ về ngôn ngữ lập trình thủ tục là C và Pascal.
Trong OOP, trọng tâm là suy nghĩ về vấn đề cần giải quyết về các yếu tố trong thế giới thực và đại diện cho vấn đề về các đối tượng và hành vi của chúng. Đối tượng là một cấu trúc dữ liệu gần giống với một số đối tượng trong thế giới thực. Các đối tượng chứa các trường dữ liệu và phương thức đại diện cho các thuộc tính và hành vi của các đối tượng trong thế giới thực. Có một số khái niệm OOP quan trọng như trừu tượng hóa dữ liệu, đóng gói, đa hình, nhắn tin, mô đun và kế thừa. Một số ngôn ngữ OOP phổ biến là Java và C #. Tuy nhiên, chúng cũng có thể được sử dụng để thực hiện Lập trình thủ tục.
Sự khác biệt chính giữa OOP và Lập trình thủ tục là trọng tâm của Lập trình thủ tục là chia nhỏ nhiệm vụ lập trình thành một tập hợp các biến và chương trình con trong khi, trọng tâm của OOP là phá vỡ nhiệm vụ lập trình trong các đối tượng, đóng gói dữ liệu và phương pháp. Sự khác biệt đáng chú ý nhất có thể là trong khi Lập trình thủ tục sử dụng các quy trình để trực tiếp vận hành trên các cấu trúc dữ liệu, OOP sẽ kết hợp dữ liệu và phương thức lại với nhau để một đối tượng sẽ hoạt động trên dữ liệu của chính nó. Khi nói đến danh pháp, thủ tục, mô-đun, lệnh gọi thủ tục và biến trong Lập trình thủ tục thường được gọi là phương thức, đối tượng, thông báo và thuộc tính trong OOP, tương ứng.