Lập trình hướng đối tượng [OOP] là việc sử dụng mã độc lập [đối tượng] để phát triển ứng dụng. Trong JavaScript, điều này có thể đạt được bằng cách tạo một kế hoạch chi tiết [lớp] cho các đối tượng sản xuất
Một lớp [BankAccount
] gói gọn một tập hợp các thuộc tính [hàm khởi tạo] và hành vi [các hàm lớp deposit
, withdraw
và transfer
] có thể được sử dụng để khởi tạo một đối tượng có giá trị cụ thể [i. e. getAccount
0]. Điều này thường được sử dụng để mô hình hóa các đối tượng trong thế giới thực
Lập trình hàm là việc sử dụng các hàm bậc cao thuần túy để phát triển các ứng dụng. Điều này liên quan đến việc tập trung vào việc tạo mã để tránh thay đổi trạng thái và thay đổi dữ liệu. Các phương thức JavaScript như getAccount
1, getAccount
2, getAccount
3 và getAccount
4 được xây dựng sao cho bất kỳ dữ liệu nào nhận được bởi một chương trình, được mã hóa theo chức năng, sẽ không làm thay đổi dữ liệu gốc. Ngoài ra, việc sử dụng bao đóng và làm cong làm cho các chương trình chức năng đơn giản hơn để thực hiện và dễ đọc hơn
Ở đây, dữ liệu [getAccount
5] không bị thay đổi trong quá trình tạo tài khoản mới. Thay vào đó, một bản sao của nó được tạo ra [_______10_______6] và được hợp nhất với một tài khoản mới [toán tử chênh lệch] thành một mảng mới [accounts
]. Truy cập tài khoản cũng được thực hiện mà không có đột biến [getAccount
2]. Việc thực hiện các giao dịch được thực hiện bằng cách tạo một bản sao cập nhật [getAccount
1 của accounts
]
Không giống như OOP, trong lập trình hàm không có đối tượng nào có trạng thái liên tục được cập nhật [i. e. không có đối tượng John hoặc Joe]. Thay vào đó, các bản sao của tài khoản hoặc danh sách tài khoản được sao chép, cập nhật và trả lại
Lập trình thủ tục chỉ đơn giản chứa một loạt các bước tính toán, các bước này hướng dẫn máy tính cách giải quyết một nhiệm vụ theo các bước logic. Lập trình thủ tục là tốt nhất cho các chương trình đơn giản nhưng tốt hơn là sử dụng các mô hình lập trình khác để giải quyết các chương trình phức tạp
Thuận lợi. -
- Tốt nhất cho lập trình mục đích chung
- Khả năng sử dụng lại mã
- Thật dễ dàng để theo dõi dòng chảy của chương trình
Nhược điểm. -
- Dữ liệu bị lộ [vấn đề bảo mật]
- Khó giải quyết các vấn đề trong thế giới thực
Thí dụ. -
def Sum[sample_list]: total = 0 for x in sample_list: total += x return total list1 = [10, 200, 50, 70] list2 = [3, 26, 33, 13] print[Sum[list1]] print[Sum[list2]]
đầu ra. -
330 75
Lập trình hướng đối tượng
Lập trình hướng đối tượng là một trong những cách tiếp cận phổ biến nhất để giải quyết vấn đề lập trình, nó được thực hiện bằng cách tạo các đối tượng.
Một đối tượng có hai đặc điểm. -
- thuộc tính
- hành vi cư xử
Ví dụ: một đối tượng có thể đại diện cho một nhân viên với các thuộc tính như tên, chức danh, kinh nghiệm, v.v. , với các hành vi như làm việc, nghỉ phép, làm việc kém hiệu quả, v.v. , Bốn nguyên tắc của hướng đối tượng
- đóng gói
- trừu tượng
- tính đa hình
- di sản
Thuận lợi. -
- Nó có thể liên quan đến các thực thể trong thế giới thực
- Khả năng sử dụng lại mã
- Ẩn dữ liệu
Nhược điểm. -
- Thiết kế phức hợp
- Kích thước lớn
- Tốc độ chậm
ví dụ. -
class animal: species = "bird" def __init__[self, name, age]: self.name = name self.age = age parrot = animal["parrot", 10] sparrow = animal["sparrow", 15] print["parrot is a {}".format[parrot.__class__.species]] print["sparrow is also a {}".format[sparrow.__class__.species]] print["{} is {} years old".format[ parrot.name, parrot.age]] print["{} is {} years old".format[ sparrow.name, sparrow.age]]
đầu ra. -
parrot is a bird sparrow is also a bird parrot is 10 years old sparrow is 15 years old
lập trình chức năng
Lập trình hàm là một mô hình lập trình trong đó chúng ta sử dụng các hàm làm khối xây dựng chính của chương trình. Mô hình này sử dụng cách tiếp cận "giải quyết vấn đề" thay vì "giải quyết như thế nào". Ưu điểm chính của phương pháp này là dễ sử dụng xử lý song song vì không có trạng thái để xem xét. Tuy nhiên, có thể duy trì trạng thái trong python do đó python còn được gọi là ngôn ngữ hàm không thuần túy
Thuận lợi. -
- triển khai đồng thời trở nên hiệu quả
- đơn giản để hiểu
- Nó sử dụng các giá trị bất biến, giúp việc gỡ lỗi và kiểm tra dễ dàng hơn
Nhược điểm. -
- Viết chương trình là một nhiệm vụ quá sức
- giảm khả năng đọc mã
- giảm hiệu suất
Thí dụ. -
#Recursive Function to find sum of a list def Sum[list, i, Len, sum]: if Len