Lập trình hướng đối tượng (OOP) là 1 trong các công nghệ lập trình rất khóa học lập trình viên cho trẻ em quan trọng hiện giờ. Nó được vận dụng ở số đông các vận dụng thực tiễn xây dựng tại những doanh nghiệp. Gần như các ngôn ngữ lập trình và framework lập trình phổ biến hiện giờ như Java, PHP, .NET đều hỗ trợ lập trình hướng đối tượng. Những lập trình viên đa phần đã được học về lập trình hướng đối tượng ở trường đại học nhưng những nguyên lý cơ bản của lập trình hướng đối tượng thỉnh thoảng lại không nắm rõ dẫn tới tiêu dùng sai, không đúng triết lý của lập trình hướng đối tượng.

Trong bài viết này, tôi sẽ tóm tắt lại các nguyên lý căn bản của lập trình hướng đối tượng nhằm giúp Anh chị em mang được một cái nhìn tổng quát về OOP cũng như cách áp dụng nó.


Lập trình hướng đối tượng là gì?
Lập trình hướng đối tượng là 1 công nghệ lập trình cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng thực tiễn trong cuộc sống. Hướng tiếp cận này hiện đang rất thành công và đã trở thành 1 trong những khuôn dòng phát triển phần mềm, đặc biệt là những phần mềm cho tổ chức.

khi lớn mạnh áp dụng tiêu dùng OOP, chúng ta sẽ khái niệm các lớp (class) để mô hình các đối tượng thực tế. Trong áp dụng những lớp này sẽ được khởi tạo thành những đối tượng và trong suốt thời gian vận dụng chạy, các phương thức (method) của đối tượng này sẽ được gọi.

Lớp khái niệm đối tượng sẽ như thế nào: gồm những phương thức và hoc lam game tính chất (property) gì. Một đối tượng chỉ là một thể hiện của lớp. Các lớp tương tác sở hữu nhau bởi các public API: là tập các phương thức, thuộc tính public của nó.

Tính đóng gói (Encapsulation)
Tính đóng gói nghĩa là luật lệ bắt buộc hiện trạng bên trong của 1 đối tượng được kiểm soát an ninh và hạn chế truy hỏi cập được từ code bên ngoài (tức là code bên ngoài không thể trực tiếp nhận ra và đổi thay hiện trạng của đối tượng đó). Bất cứ tầm nã cập nào tới hiện trạng bên trong này bắt đề nghị thông qua 1 public API để đảm bảo tình trạng của đối tượng luôn hợp lệ bởi vì những public API chịu phận sự thực hiện rà soát tính hợp thức cũng như lớp lang cập nhật trạng thái của đối tượng đấy.

tổng thể tình trạng đối tượng không hợp lệ thường do: chưa được rà soát tính hợp thức, các bước thực hiện ko đúng lớp lang hoặc bị bỏ qua nên trong OOP với 1 lề luật quan yếu cần nhớ ấy là phải luôn khai báo những tình trạng bên trong của đối tượng là private và chỉ cho tróc nã cập qua những public/protected method/property. Khi tiêu dùng các đối tượng ta không cần biết bên trong nó khiến cho việc như thế nào, ta chỉ cần biết các public API là gì và điều này đảm bảo các gì thay đổi đối tượng sẽ được rà soát bởi các quy tắc logic bên trong, giảm thiểu đối tượng bị tiêu dùng ko chính xác.

Nguyên lý đóng gói như thế này ở đâu ta cũng sở hữu thể bắt gặp tỉ dụ như ngoại hình viên thuốc, chúng ta chỉ biết nó chữa bệnh này, bệnh kia và một số thành phần chính còn cụ thể bên trong nó có các gì thì hoàn toàn không biết.

Tính kế thừa (Inheritance)

khi khởi đầu vun đắp vận dụng chúng ta sẽ bắt đầu việc ngoại hình những lớp, thông thường chúng ta sẽ thấy với trường hợp 1 số lớp hình như có quan hệ sở hữu các lớp khác, chúng với những đặc tính tương đối giống nhau. VD: 3 lớp AndroidPhone, IPhone, WindowsPhone ở hình dưới:

Xem thêm =>>https://mindx.edu.vn/blog/post/lap-trinh-ung-dung-di-dong

Mỗi lớp đều đại diện cho 1 chiếc smartphone khác nhau nhưng lại với những thuộc tính giống nhau. Thay vì sao chép những thuộc tính này, sẽ hay hơn ví như ta đặt chúng ở 1 nơi sở hữu thể tiêu dùng bởi các lớp khác. Điều này được thực hiện bởi tính kế thừa trong OOP: chúng ta với thể khái niệm lớp cha – base class (trong trường hợp này là Smartphone ) và có những lớp con kế thừa trong khoảng nó (derived class), tạo ra 1 mối quan hệ cha/con như hình dưới:

bây giờ, các lớp con mang thể kế thừa 3 thuộc tính từ lớp cha. Giả dụ những chức năng của lớp cha đã được định nghĩa đông đảo thì lập trình viên sẽ ko phải làm cho bất cứ việc gì ở lớp con. Còn nếu như 1 lớp con muốn chức năng khác so sở hữu khái niệm ở lớp cha thì nó với thể ghi đè (override) chức năng đã được khái niệm trên lớp cha này.

Như hình trên hiện tại giả dụ gọi tính chất OSVersion trên lớp AndroidPhone thì nó sẽ tiêu dùng định nghĩa được khai báo ở lớp này, khi mà hai lớp Iphone & Windows Phone vẫn dùng khái niệm được khai báo ở lớp cha Smartphone.

Tính đa hình (Polymorphism)

mang đa số lập trình viên thì tính Kế thừa và Đóng gói trong OOP khá dễ hiểu còn tính Đa hình lúc mới tiếp cận sẽ thấy khó hiểu hơn một tẹo. Tuy nhiên đây lại là một thuộc tính mang thể nói là cất đựng đa số sức mạnh của lập trình hướng đối tượng. Hiểu 1 cách đơn giản: Đa hình là định nghĩa mà 2 hoặc phổ thông lớp sở hữu những phương thức giống nhau nhưng mang thể thực thi theo các cách thức khác nhau.

Chuyện học táº*p & là m việc ở MindX


Bài viết khác cùng Box :