OOP bằng Python
OOP trong Python là một cách tiếp cận lập trình tập trung vào việc sử dụng các đối tượng và lớp giống như các ngôn ngữ lập trình thông thường khác. Các đối tượng có thể là bất kỳ thực thể nào trong thế giới thực. Python cho phép các nhà phát triển phát triển các ứng dụng bằng cách sử dụng phương pháp OOP với trọng tâm chính là khả năng tái sử dụng mã. Rất dễ dàng để tạo các lớp và đối tượng trong Python.
Class là gì?
Lớp trong Python là một nhóm dữ liệu và hàm hợp lý. Nó cho phép tự do tạo cấu trúc dữ liệu có chứa nội dung tùy ý và do đó dễ dàng truy cập.
Ví dụ: đối với bất kỳ nhân viên ngân hàng nào muốn lấy thông tin chi tiết khách hàng trực tuyến sẽ chuyển đến lớp khách hàng , nơi tất cả các thuộc tính của nó như chi tiết giao dịch, chi tiết rút và gửi tiền, nợ chưa thanh toán, v.v. sẽ được liệt kê ra.
Trong hướng dẫn này, chúng ta sẽ học,
- Cách xác định các lớp Python
- Cách hoạt động của Tính năng thừa kế
- Trình tạo Python
Cách xác định các lớp Python
Để xác định lớp, bạn cần xem xét các điểm sau
Bước 1) Trong Python, các lớp được định nghĩa bằng từ khóa "Lớp"
class myClass():
Bước 2) Bên trong các lớp, bạn có thể xác định các hàm hoặc phương thức là một phần của lớp này
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Ở đây chúng tôi đã định nghĩa method1 in ra "Guru99."
- Một phương pháp khác mà chúng tôi đã xác định là method2 in "Kiểm thử phần mềm" + SomeString. SomeString là biến được cung cấp bởi phương thức gọi
Bước 3) Mọi thứ trong một lớp đều được thụt lề, giống như mã trong hàm, vòng lặp, câu lệnh if, v.v. Mọi thứ không được thụt lề đều không có trong lớp
LƯU Ý : Về cách sử dụng "self" trong Python
- Phép vị tự đề cập đến bản thân đối tượng. Do đó việc sử dụng từ tự. Vì vậy, bên trong phương thức này, self sẽ tham chiếu đến phiên bản cụ thể của đối tượng này đang được vận hành.
- Tự là tên được Pythons ưa thích theo quy ước để chỉ tham số đầu tiên của các phương thức phiên bản trong Python. Nó là một phần của cú pháp Python để truy cập các thành viên của các đối tượng
Bước 4) Để tạo một đối tượng của lớp
c = myClass()
Bước 5) Để gọi một phương thức trong một lớp
c.method1()c.method2(" Testing is fun")
- Lưu ý rằng khi chúng ta gọi method1 hoặc method2, chúng ta không cần phải cung cấp từ khóa self. Điều đó tự động xử lý cho chúng tôi bằng thời gian chạy Python.
- Thời gian chạy Python sẽ chuyển giá trị "self" khi bạn gọi một phương thức thể hiện trên ví dụ, cho dù bạn có cố ý cung cấp nó hay không
- Bạn chỉ cần quan tâm đến những lý lẽ vô ngã
Bước 6) Đây là mã hoàn chỉnh
# Tệp ví dụ để làm việc với các lớplớp myClass ():def method1 (self):print ("Guru99")def method2 (self, someString):print ("Kiểm tra phần mềm: + someString)def main ():# thực hiện các phương thức của lớpc = myClass ()c.method1 ()c.method2 ("Thử nghiệm rất thú vị")if __name __ == "__main__":chủ yếu()
Cách hoạt động của Tính năng thừa kế
Kế thừa là một tính năng được sử dụng trong lập trình hướng đối tượng; nó đề cập đến việc xác định một lớp mới với ít hoặc không có sửa đổi đối với một lớp hiện có. Lớp mới được gọi là lớp dẫn xuất và từ lớp mà nó kế thừa được gọi là lớp cơ sở . Python hỗ trợ kế thừa; nó cũng hỗ trợ nhiều thừa kế . Một lớp có thể kế thừa các thuộc tính và phương thức hành vi từ một lớp khác được gọi là lớp con hoặc lớp thừa kế.
Cú pháp kế thừa Python
class DerivedClass(BaseClass):body_of_derived_class
Bước 1) Chạy mã sau
# Tệp ví dụ để làm việc với các lớplớp myClass ():def method1 (self):print ("Guru99")lớp con (myClass):#def method1 (self):# myClass.method1 (tự);#print ("Phương pháp lớp con1")def method2 (self):print ("childClass method2")def main ():# thực hiện các phương thức của lớpc2 = childClass ()c2.method1 ()# c2.method2 ()if __name __ == "__main__":chủ yếu()
Lưu ý rằng trong childClass, method1 không được định nghĩa nhưng nó có nguồn gốc từ myClass mẹ. Đầu ra là "Guru99."
Bước 2) Dòng Bỏ ghi chú # 8 & 10. Chạy mã
Bây giờ, phương thức 1 được định nghĩa trong lớp con và đầu ra "Phương thức lớp con 1" được hiển thị chính xác.
Bước 3) Dòng ghi chú # 9. Chạy mã
Bạn có thể gọi một phương thức của lớp cha bằng cú pháp
ParentClassName.MethodName(self)
Trong trường hợp của chúng tôi, chúng tôi gọi, myClass.method1 (self) và Guru99 được in như mong đợi
Bước 4 ) Dòng ghi chú # 19. Chạy mã.
Phương thức 2 của lớp con được gọi và "childClass method2" được in như mong đợi.
Trình tạo Python
Hàm tạo là một hàm lớp khởi tạo một đối tượng thành các giá trị được xác định trước.
Nó bắt đầu bằng một dấu gạch dưới kép (_). Phương thức It __init __ ()
Trong ví dụ dưới đây, chúng tôi lấy tên của người dùng bằng cách sử dụng hàm tạo.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Đầu ra sẽ là:
Chào mừng đến với Guru99, Alex
Ví dụ Python 2
Các mã trên là ví dụ Python 3, Nếu bạn muốn chạy bằng Python 2, vui lòng xem xét mã sau.
# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass myClass():def method1(self):print "Guru99"class childClass(myClass):#def method1(self):#myClass.method1(self);#print "childClass Method1"def method2(self):print "childClass method2"def main():# exercise the class methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()
Tóm lược:
"Lớp" là một nhóm hợp lý các chức năng và dữ liệu. Lớp Python cung cấp tất cả các tính năng tiêu chuẩn của Lập trình hướng đối tượng.
- Cơ chế kế thừa lớp
- Một lớp dẫn xuất ghi đè bất kỳ phương thức nào của lớp cơ sở của nó
- Một phương thức có thể gọi phương thức của một lớp cơ sở có cùng tên
- Lớp học Python được định nghĩa theo từ khóa "class" bản thân
- Bên trong các lớp, bạn có thể xác định các hàm hoặc phương thức là một phần của lớp
- Mọi thứ trong một lớp đều được thụt lề, giống như mã trong hàm, vòng lặp, câu lệnh if, v.v.
- Đối số tự trong Python đề cập đến chính đối tượng. Tự là tên được Pythons ưa thích theo quy ước để chỉ tham số đầu tiên của các phương thức phiên bản trong Python
- Thời gian chạy Python sẽ tự động chuyển giá trị "self" khi bạn gọi một phương thức phiên bản vào ví dụ, cho dù bạn có cố ý cung cấp nó hay không
- Trong Python, một lớp có thể kế thừa các thuộc tính và phương thức hành vi từ một lớp khác được gọi là lớp con hoặc lớp người thừa kế.