Lập trình phía đối tượng người tiêu dùng (Object Oriented Programming – OOP) là một trong trong mỗi nghệ thuật xây dựng vô cùng cần thiết và dùng nhiều lúc bấy giờ. Hầu không còn những ngữ điệu xây dựng lúc bấy giờ như Java, PHP, .NET, Ruby, Python… đều tương hỗ OOP. Vậy lập trình hướng đối tượng là gì? Và những nguyên tắc cơ phiên bản vô OOP nên biết là gì?
Bạn đang xem: lập trình hướng đối tượng là gì
- Functional Programming là gì?
Lập trình phía đối tượng người tiêu dùng (OOP) là một trong nghệ thuật xây dựng được cho phép lập trình viên đưa đến những đối tượng người tiêu dùng vô code trừu tượng hóa những đối tượng người tiêu dùng.
Đối tượng là những sự vật, vụ việc tuy nhiên nó sở hữu những đặc điểm, đặc điểm, hành vi tương tự nhau và tao góp nhóp lại trở nên đối tượng người tiêu dùng tương tự vô thực tiễn cuộc sống thường ngày. Khi xây dựng OOP, tất cả chúng ta tiếp tục khái niệm những lớp (class) nhằm gom (mô hình) những đối tượng người tiêu dùng thực tiễn.
Đối tượng
Một đối tượng người tiêu dùng bao hàm 2 thông tin: thuộc tính và phương thức.
- Thuộc tính chính là những vấn đề, điểm sáng của đối tượng người tiêu dùng. Ví dụ: con cái người dân có những đặc điểm như đôi mắt, mũi, tay, chân…
- Phương thức là những thao tác, hành vi tuy nhiên đối tượng người tiêu dùng bại hoàn toàn có thể triển khai. Ví dụ: một người tiếp tục hoàn toàn có thể triển khai hành vi rằng, lên đường, ăn, húp, . . .
Lớp
Một lớp là một trong loại tài liệu bao hàm những tính chất và những cách thức được khái niệm từ xưa. Đây là sự việc trừu tượng hóa của đối tượng người tiêu dùng. Khác với loại tài liệu thường thì, một tấm là một trong đơn vị chức năng (trừu tượng) bao hàm sự phối kết hợp Một trong những cách thức và những tính chất. Hiểu nôm mãng cầu rộng lớn là những đối tượng người tiêu dùng sở hữu những đặc điểm tương tự động nhau được tụ lại trở nên một tấm đối tượng người tiêu dùng.
Sự không giống nhau thân thích đối tượng người tiêu dùng và lớp
Lớp bạn cũng có thể hiểu nó như thể nguyên hình, đối tượng người tiêu dùng là một trong thực thể thể hiện tại dựa vào nguyên hình bại. Ví dụ: Ta nói đến loại chó, bạn cũng có thể hiểu nó là class (lớp) chó có:
- Các vấn đề, đặc điểm: 4 chân, 2 đôi mắt, sở hữu đuôi, sở hữu độ cao, sở hữu khối lượng, color lông…
- Các hành vi như: sủa, lên đường, ăn, ngủ…
Đối tượng thì đó là con cái chó Phú Quốc tao đang được nuôi vô căn nhà cũng đem đặc điểm của lớp chó.
Các nguyên tắc cơ phiên bản của OOP
Tính gói gọn (Encapsulation)
Note:
- Các tài liệu và cách thức sở hữu tương quan cùng nhau được gói gọn trở nên những lớp nhằm tiện mang đến việc quản lý và vận hành và dùng. Tức là từng lớp được thiết kế nhằm triển khai một group công dụng đặc thù của riêng biệt lớp bại.
- Ngoài rời khỏi, gói gọn còn nhằm lấp ỉm một trong những vấn đề và cụ thể thiết đặt nội cỗ nhằm bên phía ngoài ko thể trông thấy.
Các tính chất và cách thức của đối tượng người tiêu dùng cần thả việc xử lý Việc và đã được lựa chọn ra sẽ tiến hành gói gọn vào trong 1 loại tài liệu gọi là class. Nhằm lấp vệt vấn đề ngoài những đối tượng người tiêu dùng bên phía ngoài, tính chất nào là thì cách thức nấy. Tức là code bên phía ngoài ko thẳng trông thấy và thay cho thay đổi tình trạng của đối tượng người tiêu dùng bại.
Nói công cộng tình trạng đối tượng người tiêu dùng ko hợp thức thông thường do: không được đánh giá tính hợp thức, công việc triển khai ko chính trình tự động hoặc bị bỏ dở nên vô OOP sở hữu một quy tắc cần thiết chú ý này là cần luôn luôn khai báo những tình trạng bên phía trong của đối tượng người tiêu dùng là private và chỉ mang đến truy vấn qua loa những public/protected
method/property
.
Ví dụ tao thấy một viên dung dịch chữa trị cảm. Chúng tao chỉ biết nó chữa trị cảm bong mũi nhức đầu và một trong những bộ phận chủ yếu, còn rõ ràng phía bên trong đó sở hữu những hoạt hóa học gì thì trọn vẹn ko biết.
Tính thừa kế (Inheritance)
Nó được cho phép thiết kế một tấm mới nhất dựa vào những khái niệm của lớp đang được sở hữu. Có tức thị lớp thân phụ hoàn toàn có thể phân chia tiếp tục tài liệu và cách thức cho những lớp con cái. Các lớp con cái ngoài cần khái niệm lại, ngoại giả hoàn toàn có thể không ngừng mở rộng những bộ phận thừa kế và bổ sung cập nhật tăng những bộ phận mới nhất. Tái dùng mã mối cung cấp một cách tối ưu, tận dụng tối đa được mã mối cung cấp. Một số loại nối tiếp loại thừa kế thông thường gặp: đơn thừa kế, nhiều thừa kế, thừa kế nhiều cấp cho, thừa kế loại bậc.
Khi chính thức thiết kế phần mềm tất cả chúng ta tiếp tục chính thức design khái niệm những lớp trước. Thông thông thường một trong những lớp sở hữu mối liên hệ với những lớp không giống, bọn chúng sở hữu những đặc điểm tương tự nhau.
Xem thêm: tin học 6 kết nối tri thức
VD: 2 lớp Android, iPhone
Mỗi lớp đều đại diện thay mặt cho 1 loại điện thoại thông minh không giống nhau tuy nhiên lại sở hữu những tính chất tương tự nhau như gọi năng lượng điện, nhắn tin cẩn, chụp ảnh. Thay vì như thế sao chép những tính chất này, tao nên được đặt bọn chúng vào trong 1 lớp công cộng gọi là lớp thân phụ. Chúng tao hoàn toàn có thể khái niệm lớp thân phụ – vô tình huống này là Smartphone và sở hữu những lớp con cái thừa kế kể từ nó, đưa đến một quan hệ cha/con.
Tính nhiều hình (Polymorphism)
Tính nhiều hình là một trong hành vi hoàn toàn có thể được triển khai vị vô số cách không giống nhau. Đây lại là một trong đặc điểm nói cách khác là tiềm ẩn đa số sức khỏe của xây dựng phía đối tượng người tiêu dùng.
Hiểu một cơ hội đơn giản và giản dị hơn: Đa hình là định nghĩa tuy nhiên nhị hoặc nhiều tầng sở hữu những cách thức tương tự nhau tuy nhiên hoàn toàn có thể thực ganh đua theo đòi những phương thức không giống nhau.
Ví dụ như ở trong phần bên trên, từng một điện thoại thông minh thừa kế kể từ lớp thân phụ Smartphone tuy nhiên hoàn toàn có thể tàng trữ tài liệu bên trên cloud theo đòi những cơ hội không giống nhau. Android tàng trữ vị Google Drive iPhone lưu bên trên iCloud.
Một ví dụ về nhiều hình vô thực tiễn. Ta sở hữu 2 con cái vật: chó, mèo. Cả 2 loài vật này đều là lớp động vật hoang dã. Nhưng khi tao bảo cả hai động vật hoang dã kêu thì con cái chó tiếp tục kêu gâu gâu, con cái mèo tiếp tục kêu meo meo.
Vậy vô ví dụ chó, mèo coi như thể những đối tượng người tiêu dùng. 2 loài vật hoàn toàn có thể hiểu nằm trong kêu tuy nhiên theo đòi những cơ hội không giống nhau.
Tính trừu tượng (Abstraction)
Trừu tượng sở hữu nghĩ về là tổng quát tháo hóa một chiếc gì bại lên, ko cần thiết xem xét cụ thể bên phía trong. Nó ko màng cho tới cụ thể bên phía trong là gì và người tao vẫn hiểu nó mỗi một khi nghe về nó.
Ví dụ: Quý khách hàng chạy xe cộ tay ga thì sở hữu hành vi là tăng ga nhằm tăng cường, thì công dụng tăng ga là đại diện thay mặt mang đến trừu tượng (abstraction). Người sử dụng chỉ nên biết là tăng ga thì xe cộ tăng cường, ko nên biết phía bên trong đó thực hiện thế nào là.
Ở trên đây vô xây dựng OOP, tính trừu tượng tức thị lựa chọn ra những tính chất, cách thức của đối tượng người tiêu dùng cần thả việc xử lý Việc đang được xây dựng. Vì một đối tượng người tiêu dùng sở hữu thật nhiều tính chất cách thức, tuy nhiên với Việc rõ ràng ko nhất thiết cần lựa chọn toàn bộ.
Ví dụ: Bài toán quản lý và vận hành SV tất cả chúng ta chỉ việc quản lý và vận hành những vấn đề như
- Họ tên
- Ngày sinh
- Giới tính
- …
- Điểm thi
mà lại ko cần thiết quản lý và vận hành tăng những thông tin:
- Màu tóc
- Sở thích
- Chiều cao
Tại vì như thế bọn chúng thực sự ko quan trọng.
Các điểm mạnh của xây dựng phía đối tượng
- Dựa bên trên nguyên tắc thừa kế, vô quy trình tế bào miêu tả những lớp hoàn toàn có thể vô hiệu những công tác bị lặp, dư. Và hoàn toàn có thể không ngừng mở rộng kỹ năng dùng những lớp tuy nhiên ko cần thiết triển khai lại. Tối ưu và tái mét dùng code hiệu suất cao.
- Đảm bảo tinh giảm thời hạn thiết kế khối hệ thống và tăng năng suất triển khai.
- Sự xuất hiện tại của 2 định nghĩa mới nhất là lớp và đối tượng chính là đặc trưng của cách thức xây dựng phía đối tượng. Nó đang được xử lý được những yếu điểm của cách thức xây dựng phía cấu tạo nhằm lại. Trong khi 2 định nghĩa này đã hỗ trợ trình diễn đảm bảo chất lượng rộng lớn trái đất thực bên trên PC.
Một số nội dung bài viết bạn cũng có thể quan tiền tâm:
- So sánh Interface và Abstract vô xây dựng phía đối tượng
- 4 đặc điểm của xây dựng phía đối tượng người tiêu dùng vô Java
- Tìm hiểu về nguyên tắc “vàng” SOLID vô xây dựng phía đối tượng
Đừng bỏ qua những việc thực hiện xây dựng OOP hấp dẫn bên trên TopDev
Bình luận