Điểm chính của OOP trong Python là gì?
Lập trình hướng đối tượng (OOP) là một mẫu lập trình dựa trên khái niệm đối tượng. Đối tượng bao gồm dữ liệu và phương thức. Dữ liệu của đối tượng là các thuộc tính của nó, xác định nó là gì. Và các phương thức của đối tượng, đó là các hàm, xác định những gì đối tượng có thể làm. Phong cách lập trình hướng đối tượng rất phổ biến vì khả năng ánh xạ các thực thể trong thế giới ảo của nó. e. mã của chúng tôi, với các đối tượng trong thế giới thực. Các khái niệm OOPS được sử dụng rộng rãi bởi nhiều ngôn ngữ lập trình phổ biến do một số lợi thế mà nó mang lại Show
Trong bài viết này chúng ta sẽ tìm hiểu về các khái niệm OOPS trong lập trình python Phạm vi của Điều khoảnTrong bài viết này, bạn sẽ tìm hiểu các khái niệm sau
Tổng thể bài viết sẽ đáp ứng phạm vi chúng tôi đã đề cập ở trên và xử lý tất cả các khái niệm OOPS trong python Giới thiệu về Python OOPSCác khái niệm OOPS trong python có liên quan rất chặt chẽ với thế giới thực của chúng ta, nơi chúng ta viết các chương trình để giải quyết các vấn đề của mình. Giải quyết mọi vấn đề bằng cách tạo các đối tượng là cách tiếp cận phổ biến nhất trong lập trình Cách tiếp cận này được gọi là Lập trình hướng đối tượng. Lập trình hướng đối tượng ánh xạ các hướng dẫn mã của chúng tôi với các vấn đề trong thế giới thực, giúp viết dễ dàng hơn và dễ hiểu hơn. Chúng ánh xạ các thực thể trong thế giới thực (chẳng hạn như công ty và nhân viên) dưới dạng 'đối tượng phần mềm' có một số 'dữ liệu' được liên kết với chúng và có thể thực hiện một số 'chức năng' OOPS trong Python là gì?OOPS trong lập trình là viết tắt của Hệ thống lập trình hướng đối tượng. Đó là một mô hình hoặc phương pháp lập trình, để thiết kế một chương trình sử dụng các lớp và đối tượng OOPS coi mọi thực thể là một đối tượng Lập trình hướng đối tượng trong Python tập trung vào các đối tượng. Bất kỳ mã nào được viết bằng OOPS là để giải quyết vấn đề của chúng tôi, nhưng được thể hiện dưới dạng Đối tượng. Chúng ta có thể tạo bao nhiêu đối tượng tùy ý, cho một lớp nhất định Vậy đối tượng là gì? . Các thuộc tính của các đối tượng thường được gọi là các biến của đối tượng và các hành vi được gọi là các chức năng của các đối tượng. Các đối tượng có thể là đời thực hoặc logic Giả sử, Bút là một đối tượng trong đời thực. Tài sản của một cây bút bao gồm. đó là màu sắc, loại (bút gel hoặc bút bi). Và, hành vi của cây bút có thể bao gồm điều đó, nó có thể viết, vẽ, v.v. Bất kỳ tệp nào trong hệ thống của bạn là một ví dụ về đối tượng logic. Các tệp có các thuộc tính như tên tệp, tệp_vị trí, kích thước tệp và các hành vi của chúng bao gồm chúng có thể chứa dữ liệu, có thể tải xuống, chia sẻ, v.v. Một số lợi ích chính của OOPS bao gồm
Sự khác biệt giữa lập trình hướng đối tượng và hướng thủ tụcBạn có biết Python tuân theo 4 loại mô hình lập trình? Chúng bao gồm. lập trình mệnh lệnh, chức năng, thủ tục và hướng đối tượng Ở đây chúng ta sẽ thấy sự khác biệt giữa 2 trong số các mô hình lập trình quan trọng nhất trong Python. Lập trình hướng thủ tục (POP) & Lập trình hướng đối tượng (OOP). Hãy bắt đầu nào 1. Họ là ai?Chúng ta hãy xem cách tiếp cận được sử dụng bởi mỗi khung mẫu - NHẠC POP. Giả sử bạn muốn nấu maggie. Sau đó, bạn đi qua một danh sách các bước như --
Tương tự như vậy, POP yêu cầu một quy trình các bước nhất định để vận hành. POP bao gồm các chức năng. Một chương trình POP được chia thành các chức năng, mỗi chức năng dành riêng cho một nhiệm vụ cụ thể. Các chức năng được sắp xếp theo thứ tự cụ thể và luồng điều khiển chương trình diễn ra tuần tự OOP. OOP bao gồm các đối tượng. Họ chia chương trình thành các đối tượng. Các đối tượng này là các thực thể kết hợp các thuộc tính và phương thức của các đối tượng trong thế giới thực 2. Họ ưa thích ở đâu?POP chỉ phù hợp với các tác vụ nhỏ. Bởi vì, độ phức tạp của mã tăng lên khi độ dài của chương trình tăng lên và cuối cùng nó chứa đầy các chức năng. Nó trở nên khó khăn hơn để gỡ lỗi OOP phù hợp với các vấn đề lớn hơn. Họ có thể làm cho mã có thể tái sử dụng bằng cách sử dụng đệ quy, giúp mã sạch hơn và ít phức tạp hơn 3. Cái nào cung cấp bảo mật hơn?POP kém an toàn hơn vì nó cung cấp các chức năng với tất cả dữ liệu. Vì vậy, dữ liệu của chúng tôi không bị ẩn. POP không phải là một tùy chọn được đề xuất nếu bạn muốn bảo mật thông tin đăng nhập của mình hoặc bất kỳ thông tin cá nhân nào OOP an toàn hơn vì nó cung cấp cho bạn khả năng bảo mật thông qua việc ẩn dữ liệu. OOP có một khái niệm đặc biệt được gọi là "Đóng gói", cho phép nó có đặc tính ẩn dữ liệu (chúng ta sẽ đọc thêm về điều này) 4. Phương pháp lập trìnhPOP tuân theo cách tiếp cận lập trình từ trên xuống. Cách tiếp cận lập trình từ trên xuống, tập trung vào việc chia nhỏ một vấn đề lớn thành các đoạn mã nhỏ hơn và dễ hiểu. Sau đó, nó giải quyết những vấn đề nhỏ hơn đó Các khái niệm OOPS, tuân theo cách tiếp cận lập trình từ dưới lên. Cách tiếp cận từ dưới lên trước tiên tập trung vào việc giải quyết các vấn đề nhỏ hơn ở cấp độ rất cơ bản, sau đó tích hợp chúng thành một giải pháp tổng thể và hoàn chỉnh 5. Sử dụng công cụ sửa đổi truy cậpAccess specifiers hoặc Access modifiers trong python được sử dụng để giới hạn quyền truy cập của các biến lớp và phương thức lớp bên ngoài lớp trong khi triển khai các khái niệm kế thừa. Điều này có thể đạt được bằng cách. Từ khóa công khai, riêng tư và được bảo vệ POP không sử dụng các công cụ sửa đổi quyền truy cập như 'công khai', riêng tư' hoặc được bảo vệ'. POP không có khái niệm kế thừa hoặc lớp để sử dụng các công cụ sửa đổi trên. OOP hỗ trợ các công cụ sửa đổi truy cập. Họ đã có khái niệm kế thừa và do đó, họ có thể sử dụng các từ bổ nghĩa như 'công khai', riêng tư' hoặc được bảo vệ' Ghi chú Công cụ sửa đổi truy cập của Python cực kỳ hữu ích khi sử dụng các khái niệm kế thừa. Khái niệm này cũng có thể được áp dụng cho các phương thức của lớp Lớp và đối tượng trong PythonGiả sử bạn muốn lưu trữ số lượng sách bạn có, bạn chỉ cần làm điều đó bằng cách sử dụng một biến. Hoặc, giả sử bạn muốn tính tổng của 5 số và lưu trữ nó trong một biến, điều đó cũng có thể được thực hiện Các cấu trúc dữ liệu nguyên thủy như số, chuỗi và danh sách được thiết kế để lưu trữ các giá trị đơn giản trong một biến. Giả sử, tên của bạn, hoặc bình phương của một số, hoặc đếm một số viên bi (giả sử) Nhưng nếu bạn cần lưu trữ thông tin chi tiết của tất cả Nhân viên trong công ty của mình thì sao? . g. đó là trường tên hoặc empID, v.v. ) Ví dụ
QUAN TRỌNG Một lớp chỉ xác định cấu trúc của mọi thứ sẽ trông như thế nào. Nó không trỏ đến bất cứ điều gì hoặc bất cứ ai cụ thể. Ví dụ: giả sử, CON NGƯỜI là một lớp, có giả sử -- tên, tuổi, giới tính, thành phố. Nó không trỏ đến bất kỳ CON NGƯỜI cụ thể nào ngoài đó, nhưng vâng, nó giải thích các thuộc tính và chức năng mà bất kỳ CON NGƯỜI nào nên có hoặc bất kỳ đối tượng nào của lớp CON NGƯỜI nên có Một thể hiện của một lớp được gọi là đối tượng. Nó là sự triển khai của lớp và tồn tại trong thực tế Một đối tượng là một tập hợp dữ liệu (biến) và phương thức (hàm) truy cập dữ liệu. Đó là việc thực hiện thực sự của một lớp Hãy xem xét ví dụ này, ở đây Con người là một lớp - Nó chỉ là một bản thiết kế xác định con người nên như thế nào và không phải là một triển khai thực sự. Bạn có thể nói rằng lớp "Con người" chỉ tồn tại một cách hợp lý Tuy nhiên, "Ron" là một đối tượng của lớp Human (vui lòng tham khảo hình ảnh đưa ra ở trên để hiểu). Điều đó có nghĩa là, Ron được tạo ra bằng cách sử dụng bản thiết kế của lớp Người và nó chứa dữ liệu thực. "Ron" tồn tại về mặt vật lý, không giống như "Con người" (chỉ tồn tại về mặt logic). Anh ta tồn tại trong thực tế và thực hiện tất cả các thuộc tính của lớp Con người, chẳng hạn như Ron có tên, anh ta 15 tuổi, anh ta là nam và sống ở Delhi. Ngoài ra, Ron implement tất cả các phương thức của class Human, giả sử Ron có thể đi, nói, ăn và ngủ Và nhiều người có thể được tạo ra bằng cách sử dụng bản thiết kế của lớp Human. Chẳng hạn, chúng ta có thể tạo thêm hàng nghìn người bằng cách tham khảo bản thiết kế của lớp Người, sử dụng các đối tượng Mẹo nhanh class = blueprint (giả sử một bản vẽ kiến trúc). Đối tượng là một thứ thực tế được xây dựng dựa trên 'bản thiết kế' (giả sử là một ngôi nhà). Một thể hiện là một bản sao ảo (nhưng không phải là bản sao thực) của đối tượng Khi một lớp được định nghĩa, chỉ bản thiết kế của đối tượng được tạo và không có bộ nhớ nào được cấp phát cho lớp. Cấp phát bộ nhớ chỉ xảy ra khi đối tượng hoặc thể hiện được tạo. Đối tượng hoặc thể hiện chứa dữ liệu hoặc thông tin thực Làm cách nào để xác định một lớp trong Python?Các lớp trong Python có thể được định nghĩa bởi từ khóa lớp, theo sau là tên của lớp và dấu hai chấm cú pháp Mã thụt vào bên dưới định nghĩa lớp được coi là một phần của nội dung lớp 'vượt qua' thường được sử dụng làm trình giữ chỗ, ở vị trí mã mà việc triển khai mã mà chúng tôi có thể bỏ qua trong thời gian này. "pass" cho phép chúng tôi chạy mã mà không gây ra lỗi trong Python Phương thức __init__ là gì?Các thuộc tính mà tất cả các đối tượng Human phải có, được định nghĩa trong một phương thức gọi là init(). Mỗi khi một đối tượng Human mới được tạo, __init__() thiết lập trạng thái ban đầu của đối tượng bằng cách gán các giá trị mà chúng tôi cung cấp bên trong các thuộc tính của đối tượng. Nghĩa là, __init__() khởi tạo từng thể hiện mới của lớp. __init__() có thể nhận bất kỳ số lượng tham số nào, nhưng tham số đầu tiên luôn là một biến có tên là self Tham số self là một tham chiếu đến thể hiện hiện tại của lớp. Nó có nghĩa là, tham số self trỏ đến địa chỉ của đối tượng hiện tại của một lớp, cho phép chúng ta truy cập dữ liệu của các biến (của đối tượng) của nó Vì vậy, ngay cả khi chúng ta có 1000 thể hiện (đối tượng) của một lớp, chúng ta luôn có thể lấy từng dữ liệu riêng lẻ của chúng do chính cái này, bởi vì nó sẽ trỏ đến địa chỉ của đối tượng cụ thể đó và trả về giá trị tương ứng Ghi chú Chúng ta có thể sử dụng bất kỳ tên nào thay cho self, nhưng nó phải là tham số đầu tiên của bất kỳ hàm nào trong lớp Hãy để chúng tôi xem cách định nghĩa __init__() trong lớp Human Mã số
Đối với các thuộc tính phải có giá trị tương tự cho mỗi phiên bản của một lớp, hãy sử dụng các thuộc tính của lớp. Đối với các thuộc tính khác nhau trên mỗi phiên bản, hãy sử dụng các thuộc tính của phiên bản Tạo một đối tượng trong lớpKhi chúng ta tạo một đối tượng mới từ một lớp, nó được gọi là khởi tạo một đối tượng. Một đối tượng có thể được khởi tạo bằng tên lớp theo sau bởi dấu ngoặc đơn. Chúng ta có thể gán đối tượng của một lớp cho bất kỳ biến nào cú pháp Ngay khi một đối tượng được khởi tạo, bộ nhớ được cấp phát cho chúng. Vì vậy, nếu chúng ta so sánh 2 phiên bản của cùng một lớp bằng cách sử dụng '==', nó sẽ trả về false (vì cả hai sẽ được gán bộ nhớ khác nhau) Giả sử, chúng ta cố gắng tạo các đối tượng của lớp Human, sau đó chúng ta cũng cần truyền các giá trị cho tên, tuổi và giới tính Mã số
Phương thức sơ thẩmMột phương thức thể hiện là một hàm được định nghĩa trong một lớp chỉ có thể được gọi từ các thể hiện của lớp đó. Giống như init(), tham số đầu tiên của phương thức cá thể luôn luôn tự Hãy lấy một ví dụ và triển khai một số chức năng mà lớp Human có thể thực hiện -- Mã số
Nguyên tắc cơ bản của OOPS trong PythonCó bốn khái niệm cơ bản về lập trình hướng đối tượng –
Bây giờ chúng ta hãy xem xét sâu từng khái niệm OOPS trong python Di sảnMọi người thường nói với những đứa trẻ mới sinh rằng chúng có nét mặt giống bố mẹ hoặc chúng được thừa hưởng một số nét mặt từ bố mẹ. Có khả năng là bạn cũng đã nhận thấy rằng bạn đã thừa hưởng một số hoặc các tính năng khác từ cha mẹ của bạn Kế thừa cũng rất giống với kịch bản đời thực. Nhưng ở đây, "các lớp con" kế thừa các tính năng từ "các lớp cha" của chúng. " Và các tính năng mà chúng kế thừa ở đây được gọi là "thuộc tính" và "phương thức" Kế thừa là quá trình mà một lớp có thể kế thừa hoặc dẫn xuất các thuộc tính (hoặc dữ liệu) và phương thức (hoặc hàm) của một lớp khác. Đơn giản, quá trình kế thừa các thuộc tính của lớp cha vào lớp con được gọi là kế thừa Lớp có các thuộc tính được kế thừa là lớp Cha và lớp kế thừa các thuộc tính của lớp Cha là lớp Con Hãy cho chúng tôi xem cú pháp kế thừa trong Python Mã số 1
Dấu gạch dưới đơn _ đại diện cho lớp Được bảo vệ. Dấu gạch dưới kép __ đại diện cho lớp Riêng tư Giả sử chúng ta cố gắng tạo một lớp Nhân viên Mã số 6
Cú pháp của lớp trừu tượng trong PythonĐể sử dụng tính trừu tượng, chúng ta bắt buộc phải nhập lớp ABC từ mô-đun abc cú pháp 0 Ưu điểm của OOPS trong PythonCó rất nhiều ưu điểm của các khái niệm OOPS trong Python, thuận lợi cho việc viết các phần mềm nghiêm túc. Chúng ta hãy xem xét một vài trong số chúng --
Phần kết luậnTrong bài viết này, chúng ta đã tìm hiểu về các khái niệm của mô hình lập trình thời thượng nhất - khái niệm OOPS trong python. Sau phần này, bạn hẳn đã hiểu rằng OOPS là một mô hình xử lý hoàn toàn khái niệm đối tượng. Và khái niệm này bị ảnh hưởng chặt chẽ như thế nào bởi các khía cạnh thực tế, như tính kế thừa, tính trừu tượng, tính đa hình, v.v. Hãy để chúng tôi tóm tắt lại những điểm chúng tôi đã đi qua trong bài viết này Các khái niệm OOP trong Python là gì?Khái niệm OOP của Python là gì? . Class, Object, Method, Inheritance, Polymorphism, Data Abstraction, and Encapsulation.
Lợi ích chính của OOP là gì?Lợi ích của OOP
. Công nghệ mới hứa hẹn năng suất lập trình viên cao hơn, chất lượng phần mềm tốt hơn và chi phí bảo trì thấp hơn. Hệ thống OOP có thể dễ dàng nâng cấp từ hệ thống nhỏ lên hệ thống lớn. allows to break the program into the bit-sized problems that can be solved easily (one object at a time). The new technology promises greater programmer productivity, better quality of software and lesser maintenance cost. OOP systems can be easily upgraded from small to large systems.
Tại sao tôi nên học OOP trong Python?OOP bằng Python
. Các chương trình OOP ngăn bạn lặp lại mã vì một lớp có thể được xác định một lần và được sử dụng lại nhiều lần. it makes code more reusable and makes it easier to work with larger programs. OOP programs prevent you from repeating code because a class can be defined once and reused many times. |