/ / 3 mô hình lập trình chính mà bạn nên biết

3 mô hình lập trình chính mà bạn nên biết

Mô hình lập trình là những lý thuyết hoặc ý tưởng giúp hình thành các ngôn ngữ khác nhau mà bạn sử dụng để tạo phần mềm. Chúng đại diện cho các đặc điểm chính của một ngôn ngữ lập trình, quy định hành vi của nó.

Do đó, có thể nói rằng một mô hình cũng quan trọng như cú pháp và ngữ nghĩa của ngôn ngữ lập trình. Hầu hết các ngôn ngữ lập trình phổ biến đều sử dụng một trong một vài kiểu mô hình lập trình.

1. Lập trình mệnh lệnh

Mô hình mệnh lệnh là một trong những cách tiếp cận lập trình sớm nhất, bắt đầu từ những năm 1950. Mô hình này chủ yếu dựa vào việc sử dụng các biến, lệnh và thủ tục.

Lập trình mệnh lệnh sử dụng các lệnh để kiểm tra và cập nhật các biến, lưu trữ trạng thái trong một chương trình. Sự kết hợp của các lệnh sau đó tạo ra một thủ tục. Sự trừu tượng hóa dữ liệu đóng một vai trò quan trọng trong việc biểu diễn dữ liệu, điều này tạo điều kiện thuận lợi cho việc ghép nối lỏng lẻo.

Một trong những ngôn ngữ phổ biến nhất sử dụng mô hình mệnh lệnh là C. Ngôn ngữ lập trình này chỉ hỗ trợ các thủ tục hàm.

Ví dụ về chương trình bắt buộc

#include <stdio.h>
#include <string.h>

struct Customer
{
int CustomerId;
char OrderNumber[20];
char Name[30];
float OrderTotal;
};

void main ()
{
struct Customer John = {4000, "HK1001", "John Doe", 200.00};
struct Customer Jane = {4001, "HK1002", "Jane Doe", 600.00};

memcpy(Jane.Name , "Jane Jones", 10);

printf ("The total cost for %s order number %s is: $%.2f",Jane.Name, Jane.OrderNumber, Jane.OrderTotal);
}

LÀM VIDEO TRONG NGÀY

Chương trình C ở trên tạo ra một Khách hàng kết cấu. Các cấu trúc kiểu là một ví dụ điển hình về sự trừu tượng hóa dữ liệu trong C.

Chương trình trình bày cách các lệnh có thể tạo, cập nhật và hiển thị trạng thái – thông qua Jane biến cấu trúc. Tất cả các lệnh này trong một chủ yếu() về tổng thể là một thủ tục cho biết khách hàng phải trả bao nhiêu tiền cho một đơn đặt hàng.

Việc thực thi chương trình trên sẽ tạo ra kết quả sau trong bảng điều khiển của bạn:

The total cost for Jane Jones order number HK1002 is: $600.00

2. Lập trình hướng đối tượng

Mô hình lập trình hướng đối tượng ra đời vào những năm 1990. Mô hình này là hậu duệ của mô hình mệnh lệnh. Tuy nhiên, mô hình hướng đối tượng lưu trữ trạng thái trong các đối tượng chứ không phải các biến.

Các ngôn ngữ lập trình sử dụng mô hình hướng đối tượng thường xử lý các ứng dụng phức tạp tốt hơn. Các tính năng cốt lõi của mô hình là các đối tượng, lớp, đóng gói dữ liệu, kế thừa và đa hình.

Một lớp là thành phần nền tảng của một chương trình hướng đối tượng. Một số lớp kế thừa các thuộc tính và hoạt động từ các lớp khác. Các lập trình viên mô tả đây là mối quan hệ cha-con. Nó thuộc loại đa hình kiểu phụ.

Các lớp chứa các công cụ để ẩn và bảo vệ dữ liệu nhạy cảm thông qua tính năng đóng gói. Khi bạn đã xác định một lớp, bạn có thể sử dụng nó để tạo các đối tượng.

Ba trong số các ngôn ngữ lập trình phổ biến hơn sử dụng mô hình hướng đối tượng là Java, C ++ và Python.

Ví dụ về chương trình hướng đối tượng

Ứng dụng này thể hiện hầu hết các tính năng của một ngôn ngữ lập trình hướng đối tượng, Java. Một loại khách hàng cụ thể kế thừa hành vi từ một loại chung chung hơn. Tất cả các khách hàng triển khai một giao diện. Loại khách hàng cụ thể sẽ ghi đè một phương thức từ giao diện.

Tệp chiết khấu.java

public interface Discountable {

public void grandTotal(String orderNumber, double total);

}

Đoạn mã trên tạo ra một giao diện. Trong Java, giao diện là một ví dụ khác về tính đa hình. Nó cho phép các thực thể không liên quan trực tiếp truy cập vào các thuộc tính giống nhau, như Tổng cộng phương pháp. Ứng dụng này tập trung vào khách hàng, nhưng một lớp nhân viên cũng có thể sử dụng giao diện Có thể chiết khấu.


Tệp Customer.java

public class Customer implements Discountable {
protected int customerId;
protected String customerName;
protected String customerCode;

public Customer() {
this.customerId = 0;
this.customerName = "";
this.customerCode = "";
}

public Customer(int customerId, String customerName, String customerCode) {
this.customerId = customerId;
this.customerName = customerName;
this.customerCode = customerCode;
}

public int getCustomerId() {
return customerId;
}
public void setCustomerId(int customerId) {
this.customerId = customerId;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public String getCustomerCode() {
return customerCode;
}

public void setCustomerCode(String customerCode) {
this.customerCode = customerCode;
}

public double customerType(String customerCode) {
double discount = 0;

if (customerCode.toLowerCase().equals("pre")) {
discount = 0.10;
} else if (customerCode.toLowerCase().equals("gen")) {
discount = 0.02;
} else if (customerCode.toLowerCase().equals("new")) {
discount = 0.05;
}
return discount;
}

@Override
public void grandTotal(String orderNumber, double total) {

double discount = customerType(customerCode);
double discountPercentage = total * discount;
double finalTotal = total - discountPercentage;

System.out.println("For "+ getCustomerName() + " order Number " + orderNumber + " the grand total is: $" + finalTotal);
}

}


Đoạn mã trên tạo ra một Khách hàng lớp. Nó thực hiện Có thể chiết khấu , sau đó sử dụng phương pháp của nó để tính toán và hiển thị tổng số tiền, dựa trên danh mục của khách hàng. Các được bảo vệ từ khóa trong đoạn mã trên là một ví dụ về đóng gói dữ liệu; nó hạn chế quyền truy cập vào dữ liệu được tạo thông qua lớp này. Vì vậy, chỉ các lớp con (hoặc lớp con) của Khách hàng lớp sẽ có quyền truy cập vào dữ liệu của nó.

Tệp NewCustomer.java

public class NewCustomer extends Customer {
public NewCustomer() {
super();
}

public NewCustomer(int customerId, String customerName, String customerCode) {
super(customerId, customerName, customerCode);
}

}

Đoạn mã trên tạo ra một Khách hàng mới lớp mở rộng Khách hàng lớp. Lớp Java này sử dụng kế thừa để thể hiện mối quan hệ cha-con với Khách hàng lớp. Các Khách hàng mới là phần tử con trong mối quan hệ, vì vậy, nó có quyền truy cập vào tất cả các thuộc tính trong lớp Khách hàng. Nó nhập các thuộc tính lớp Khách hàng bằng cách sử dụng siêu() phương pháp.


Tệp App.java

public class App {
public static void main(String[] args) {
Customer Jane = new NewCustomer(4001, "Jane Jones", "new");
Jane.grandTotal("HK1002", 600);
}
}

Đoạn mã trên tạo một tệp thực thi Ứng dụng lớp. Lớp này tạo ra một đối tượng Khách hàng (Jane) và thông qua tính đa hình làm cho Jane trở thành Khách hàng mới. Cuối cùng, nó tạo ra tổng số tiền cho đơn đặt hàng của Jane. Việc thực thi chương trình trên sẽ tạo ra kết quả sau trong bảng điều khiển:

For Jane Jones order Number HK1002 the grand total is: $570.0

3. Lập trình chức năng

Các khái niệm chính của mô hình này là biểu thức, hàm, đa hình tham số và trừu tượng hóa dữ liệu. Biểu thức là thành phần cơ bản của các hàm được sử dụng bởi các ngôn ngữ lập trình hàm. Đa hình tham số là một trong ba loại đa hình. Kiểu này tạo điều kiện cho việc lập trình chung thông qua các hàm và kiểu.

JavaScript là một trong những ngôn ngữ lập trình chức năng phổ biến nhất.

Ví dụ về chương trình chức năng

const Customer = {
IdNumber: 1002,
Name: 'Jane Jones',
CustomerCode: 'new'
}

const main = (customer, func, value) => {
var total = func.apply(null, [ customer.CustomerCode, value ]);
console.log(`${customer.Name} total is: ${total}`);
}

const grandTotal = (CustomerCode, total) => {
if (CustomerCode == "new") {
discount = total * 0.05;
mainTotal = total - discount;
return mainTotal;
} else if (CustomerCode == "pre") {
discount = total * 0.10;
mainTotal = total - discount;
return mainTotal;
}
}

main(Customer, grandTotal, 600);

Chương trình JavaScript ở trên có một đối tượng theo nghĩa đen và hai chức năng. Nó khai báo mỗi hàm dưới dạng một biểu thức bằng cách sử dụng hàm mũi tên JavaScript. Các chủ yếu() hàm là một hàm bậc cao hơn. Nó có Tổng cộng hàm như một trong các đối số của nó, sau đó gọi hàm đó. Đây cũng là một ví dụ về tính đa hình tham số.

Các Tổng cộng() hàm chứa một số biểu thức và Khách hàng vật là một ví dụ về trừu tượng hóa dữ liệu. Chương trình trên tạo ra kết quả sau trong bảng điều khiển:

Jane Jones total is: $570

Sự phức tạp của ngôn ngữ lập trình

Một ngôn ngữ lập trình có thể thể hiện các khái niệm của một mô hình lập trình, nhưng điều đó không có nghĩa là nó bị giới hạn trong một mô hình. Nhiều ngôn ngữ lập trình phổ biến (chẳng hạn như Python, Java, JavaScript và C ++) là ngôn ngữ đa mô hình.

Một số mô hình lập trình, chẳng hạn như mô hình mệnh lệnh và hướng đối tượng, cũng có liên quan. Nhưng bất chấp mối quan hệ họ hàng này, có một số khác biệt đáng kể.


mã trong một IDE

Lập trình hướng đối tượng so với lập trình theo thủ tục: Điều gì làm cho chúng khác biệt?

Đọc tiếp


Thông tin về các Tác giả

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *