Python ẩn dữ liệu
Show
Khái niệm OOP trong Python. Các lớp và đối tượng trong Python, Kế thừa, Nạp chồng, Ghi đè và Ẩn dữ liệu Trong hướng dẫn trước, chúng ta một số thao tác Nhập/xuất mà Python cung cấp Chúng tôi đã biết cách sử dụng các chức năng này để đọc dữ liệu từ người dùng hoặc từ các nguồn bên ngoài và cả cách ghi những dữ liệu đó vào các nguồn bên ngoài. Ngoài ra, chúng tôi đã học cách chia mã lớn thành các phương thức nhỏ hơn bằng cách sử dụng các hàm và cách gọi hoặc truy cập chúng Đọc thêm => Nhiều hướng dẫn đào tạo Python miễn phí rõ ràng Trong hướng dẫn này, chúng ta sẽ thảo luận về khái niệm Python nâng cao được gọi là OOP và các loại khái niệm oops khác nhau có sẵn trong Python cũng như cách thức và vị trí sử dụng chúng Bạn sẽ học được gì Xem VIDEO hướng dẫnVideo #1. Lớp, đối tượng và hàm tạo trong Python Video #2. Khái niệm Kế thừa trong Python Video #3. Quá tải, ghi đè và ẩn dữ liệu trong Python Lớp học và đối tượng
Các lớp họcLớp trong Python là một tập hợp các đối tượng, chúng ta có thể coi lớp như một bản thiết kế hoặc bản phác thảo hoặc nguyên mẫu. Nó chứa tất cả các chi tiết của một đối tượng Trong ví dụ thực tế, Animal là một lớp, bởi vì chúng ta có nhiều loại Động vật khác nhau trên thế giới và tất cả chúng đều thuộc về một lớp gọi là Động vật Định nghĩa một lớp Trong Python, chúng ta nên định nghĩa một lớp bằng từ khóa 'class' cú pháp class classname: #Collection of statements or functions or classes Ví dụ class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum) Trong ví dụ trên, chúng tôi đã khai báo lớp có tên là 'Myclass' và chúng tôi đã khai báo và định nghĩa một số biến và hàm tương ứng Để truy cập các hàm hoặc biến có trong lớp, chúng ta có thể sử dụng tên lớp bằng cách tạo một đối tượng của nó Trước tiên, hãy xem cách truy cập những thứ đó bằng cách sử dụng tên lớp Ví dụ class MyClass: a = 10 b = 20 #Accessing variable present inside MyClass print(MyClass.a) đầu ra 10 đầu ra Các đối tượngMột đối tượng thường là một thể hiện của một lớp. Nó được sử dụng để truy cập mọi thứ có trong lớp Tạo một đối tượng cú pháp variablename = classname Ví dụ ob = MyClass() Thao tác này sẽ tạo một đối tượng thể hiện mới có tên là 'ob'. Sử dụng tên đối tượng này, chúng ta có thể truy cập tất cả các thuộc tính có trong lớp MyClass Ví dụ class MyClass: a = 10 b = 20 def add(self): sum = self.a + self.b print(sum) #Creating an object of class MyClass ob = MyClass() #Accessing function and variables present inside MyClass using the object print(ob.a) print(ob.b) ob.add() đầu ra 10 đầu ra Hàm tạo trong PythonConstructor trong Python là một phương thức đặc biệt được sử dụng để khởi tạo các thành viên của một lớp trong thời gian chạy khi một đối tượng được tạo Trong Python, chúng tôi có một số phương thức lớp tích hợp đặc biệt bắt đầu bằng dấu gạch dưới kép (__) và chúng có ý nghĩa đặc biệt trong Python Tên của hàm tạo sẽ luôn là __init__() Mỗi lớp phải có một hàm tạo, ngay cả khi bạn không tạo một hàm tạo một cách rõ ràng, nó sẽ tự tạo một hàm tạo mặc định Ví dụ class MyClass: sum = 0 def __init__ (self, a, b): self.sum = a+b def printSum(self): print(“Sum of a and b is: ”, self.sum) #Creating an object of class MyClass ob = MyClass(12, 15) ob.printSum() đầu ra Tổng của a và b là. 27 đầu ra Nếu chúng ta quan sát trong ví dụ trên, thì chúng ta không gọi phương thức __init__(), bởi vì nó sẽ được gọi tự động khi chúng ta tạo một đối tượng cho lớp đó và khởi tạo các thành viên dữ liệu nếu có Luôn nhớ rằng một hàm tạo sẽ không bao giờ trả về bất kỳ giá trị nào, do đó nó không chứa bất kỳ câu lệnh trả về nào Di sảnKế thừa là một trong những khái niệm mạnh mẽ nhất của OOP Một lớp kế thừa các thuộc tính của một lớp khác được gọi là Kế thừa Lớp kế thừa các thuộc tính được gọi là lớp con/lớp con và lớp mà các thuộc tính được kế thừa từ đó được gọi là lớp cha/lớp cơ sở Python cung cấp ba loại Kế thừa
Nên đọc =>> Kế thừa trong Java #1) Thừa kế đơnTrong kế thừa đơn, một lớp sẽ chỉ kế thừa các thuộc tính của một lớp Ví dụ class Operations: a = 10 b = 20 def add(self): sum = self.a + self.b print(“Sum of a and b is: “, sum) class MyClass(Operations): c = 50 d = 10 def sub(self): sub = self.c – self.d print(“Subtraction of c and d is: ”, sub) ob = MyClass() ob.add() ob.sub() đầu ra Tổng của a và b là. 30 đầu ra Trong ví dụ trên, chúng ta đang kế thừa các thuộc tính của lớp ‘Operations’ vào lớp ‘MyClass’ Do đó, chúng ta có thể truy cập tất cả các phương thức hoặc câu lệnh có trong lớp 'Hoạt động' bằng cách sử dụng các đối tượng MyClass #2) Kế thừa đa cấpTrong Kế thừa đa cấp, một hoặc nhiều lớp đóng vai trò là lớp cơ sở Điều đó có nghĩa là lớp thứ hai sẽ kế thừa các thuộc tính của lớp thứ nhất và lớp thứ ba sẽ kế thừa các thuộc tính của lớp thứ hai. Vì vậy, lớp thứ hai sẽ đóng vai trò là cả lớp Cha mẹ cũng như lớp Con Ví dụ ________số 8đầu ra Tổng của a và b là. 30 đầu ra Trong ví dụ trên, lớp 'Phép trừ' kế thừa các thuộc tính của lớp 'Phép cộng' và lớp 'Phép nhân' sẽ kế thừa các thuộc tính của lớp 'Phép trừ'. Vì vậy, lớp 'Phép trừ' sẽ đóng vai trò là cả Lớp cơ sở và Lớp dẫn xuất #3) Đa thừa kếLớp kế thừa các thuộc tính của nhiều lớp được gọi là Đa kế thừa Đọc thêm =>> Java có hỗ trợ Đa kế thừa không? Ví dụ class Addition: a = 10 b = 20 def add(self): sum = self. a+ self.b print(“Sum of a and b is: “, sum) class Subtraction(): c = 50 d = 10 def sub(self): sub = self.c-self.d print(“Subtraction of c and d is: ”, sub) class Multiplication(Addition,Subtraction): def mul(self): multi = self.a * self.c print(“Multiplication of a and c is: ”, multi) ob = Multiplication () ob.add() ob.sub() ob.mul() đầu ra Tổng của a và b là. 30 đầu ra Quá tải phương thức trong PythonNhiều phương thức có cùng tên nhưng với một loại tham số khác nhau hoặc một số lượng tham số khác nhau được gọi là Nạp chồng phương thức Ví dụ class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum)0 đầu ra 30 đầu ra đầu ra Nạp chồng phương thức không được hỗ trợ trong Python, bởi vì nếu chúng ta thấy trong ví dụ trên, chúng ta đã định nghĩa hai hàm có cùng tên 'product' nhưng có số lượng tham số khác nhau Nhưng trong Python, định nghĩa mới nhất sẽ được cập nhật, do đó hàm product(a,b) sẽ trở nên vô dụng Ghi đè phương thức trong PythonNếu một phương thức của lớp con có cùng tên được khai báo trong phương thức của lớp cha thì nó được gọi là Ghi đè phương thức Để ghi đè phương thức, chúng ta phải sử dụng tính kế thừa Ví dụ class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum)1 đầu ra tôi ở B đầu ra Ẩn dữ liệu trong PythonẨn dữ liệu có nghĩa là đặt dữ liệu ở chế độ riêng tư để các thành viên khác trong lớp không thể truy cập được. Nó chỉ có thể được truy cập trong lớp nơi nó được khai báo Trong python nếu muốn ẩn biến ta cần viết 2 dấu gạch dưới (__) trước tên biến Ví dụ class MyClass: a = 10 b = 20 def add(): sum = a+b print(sum)2 đầu ra 30 đầu ra Phần kết luậnLớp là một kế hoạch chi tiết hoặc khuôn mẫu chứa tất cả các chi tiết của một đối tượng, trong đó đối tượng là một thể hiện của một lớp Ẩn dữ liệu là gì và ví dụ?Ẩn dữ liệu là kỹ thuật lập trình hướng đối tượng (OOP) được sử dụng cụ thể để ẩn các chi tiết đối tượng bên trong (i. e. , thành viên dữ liệu) . Ẩn dữ liệu đảm bảo quyền truy cập dữ liệu độc quyền cho chỉ các thành viên của lớp và bảo vệ cũng như duy trì tính toàn vẹn của đối tượng bằng cách ngăn chặn các thay đổi và xâm nhập có chủ đích hoặc ngoài ý muốn.
Sự khác biệt giữa đóng gói và ẩn dữ liệu là gì?Trong khi ẩn dữ liệu tập trung vào việc hạn chế sử dụng dữ liệu trong chương trình để đảm bảo an toàn dữ liệu, đóng gói dữ liệu tập trung vào gói (hoặc đóng gói) dữ liệu phức tạp để hiển thị chế độ xem đơn giản hơn cho người dùng. Trong ẩn dữ liệu, dữ liệu chỉ được xác định là riêng tư. Trong đóng gói dữ liệu, dữ liệu có thể là công khai hoặc riêng tư
Có sự khác biệt nào giữa ẩn dữ liệu và trừu tượng hóa trong Python không?Sự định nghĩa. Ẩn dữ liệu là quá trình đảm bảo quyền truy cập dữ liệu độc quyền cho các thành viên lớp và cung cấp tính toàn vẹn của đối tượng bằng cách ngăn chặn các thay đổi ngoài ý muốn hoặc dự kiến. Mặt khác, trừu tượng là một khái niệm OOP ẩn các chi tiết triển khai và chỉ hiển thị chức năng cho người dùng
ẩn dữ liệu là gì đưa ra một ví dụ thực tế?Ví dụ. Trong ví dụ này, có một lớp với một biến và hai hàm. Ở đây, biến "num" là riêng tư, vì vậy, nó chỉ có thể được truy cập bởi các thành viên của cùng một lớp và nó không thể được truy cập ở bất kỳ nơi nào khác. Do đó, nó không thể truy cập biến này bên ngoài lớp, được gọi là ẩn dữ liệu |