Oop là gì? 4 đặc tính cơ bản của oop

Nhân vật ấn tượng nhất trong xuất xắc tác Tiếu Ngạo Giang Hồ bao gồm lẽ ai ai cũng đồng ý là Lệnh hồ nước công tử. Kim Dung tiên sinh vẫn kể tương đối nhiều tình tiết trong những số ấy Hồ công tử rơi vào tình huống ai oán (như mất không còn công lực) lúc đối địch nhưng chung cuộc vẫn chiến thắng. Lí do do công tử làm rõ được yếu hèn quyết xuất phát của những chiêu thức, nên có thể vận dụng vào tìm chiêu của chính mình và hoá giải tình huống đối thủ đề ra một giải pháp dễ dàng.

Bạn đang xem: Oop là gì? 4 đặc tính cơ bản của oop

*

Nếu như võ công chỉ tất cả vài trường phái chiếm phần nhiều như kiếm tông, khí tông thì xây dựng cũng vậy, chỉ bao gồm vài paradigm chiếm cụ thượng phong như thiết kế thủ tục, lập trình hướng đối tượng. Học tập là học cái tinh thần, thỉnh thoảng đâu đó ta nghe nói cần sử dụng PHP4 cũng có thể lập trình hướng đối tượng người tiêu dùng như PHP5, ngôn từ Ruby hướng đối tượng người dùng viết bằng ngữ điệu C ko hướng đối tượng người sử dụng là vì vậy.

Bài viết này trình diễn vài nét phác thảo bí quyết viết C theo tinh thần hướng đối tượng.

Xem thêm: Nsưt Hoài Linh Từ Mặt Hoài Lâm ? Tag: Hoài Linh Từ Mặt Hoài Lâm

Tinh thần của hướng đối tượng có 4 điểm bao gồm yếu, trong các số ấy nhìn từ ý kiến của C thì quan trọng đặc biệt nhất là đóng góp gói, bởi vì chương trình = cấu trúc dữ liệu (data) + giải mã (code) (bạn nào sắp đi xin câu hỏi nên nhớ thắc mắc "Chương trình là gì?" này, vày hay bị hỏi).

C có con trỏ dữ liệu, bé trỏ hàm, ép mẫu mã v.v. Cực mạnh dạn nên đóng gói rất giản đơn thực hiện, 3 điểm còn lại cố một tí cũng triển khai được:

typedef struct int r, c; int *elements; Matrix;int matrix_get_r(Matrix *this) return this->r;int matrix_get_c(Matrix *this) return this->c;void matrix_set_element(Matrix *this, int r, int c, int v) this->elementsc) + c> = v;int matrix_get_element(Matrix *this, int r, int c) return this->elementsc) + c>;Matrix *matrix_new(int r, int c) Matrix *ret; ret = (Matrix *) malloc(sizeof(Matrix)); ret->r = r; ret->c = c; ret->elements = (int *) malloc(r*c*sizeof(int)); return ret;void matrix_delete(Matrix *this) free(this->elements); this->elements = NULL; free(this);Trên đây là trích đoạn công tác nhân ma trận cần sử dụng thư viện OpenMPI. Chương trình hoàn hảo đính kèm ở bài bác Xử lí tuy nhiên song. Ta thấy:

Dùng struct nhằm gói dữ liệu, tên struct viết hoa.Hàm tất cả tiền tố suy ra từ tên struct.Hàm xxx_new với xxx_delete dùng để làm sinh với huỷ.Ngoài xxx_new, tham số trước tiên của tất cả hàm đầy đủ là nhỏ trỏ struct.Dùng nhỏ trỏ struct ở hầu hết nơi, không sử dụng thẳng struct.Học hỏi kiến thiết của Ruby, lấy ví dụ không truy vấn thẳng dữ liệu của struct, nhưng phải thông qua hàm.

Bạn thấy đấy, nếu chũm được ý thức của hướng đối tượng, thì dùng ngữ điệu không hướng đối tượng người dùng C vẫn hoàn toàn có thể tận dụng mẫu hay của nó.