Các khái niệm chính của oops trong python là gì?

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ẫn
  • Lớp học và đối tượng
    • Các lớp học
    • Các đối tượng
  • Hàm tạo trong Python
  • Di sản
    • #1] Thừa kế đơn
    • #2] Kế thừa đa cấp
    • #3] Đa thừa kế
  • Quá tải phương thức trong Python
  • Ghi đè phương thức trong Python
  • Ẩn dữ liệu trong Python
  • Sự kết luận
  • đề xuất đọc

Xem VIDEO hướng dẫn

Video #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

  • Python là ngôn ngữ lập trình hướng đối tượng, nơi lập trình nhấn mạnh nhiều hơn vào các đối tượng
  • Hầu hết mọi thứ trong Python đều là đối tượng

Các lớp học

Lớ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

Thí 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

Thí dụ

 
class MyClass:
       a = 10
       b = 20


#Accessing variable present inside MyClass
print[MyClass.a] 

đầu ra

10

đầu ra

Các đối tượng

Mộ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

Thí 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

Thí 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
20
30

đầu ra

Hàm tạo trong Python

Constructor 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

Thí 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, 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ản

Kế 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

  • Thừa kế đơn
  • Kế thừa đa cấp
  • Đa thừa kế

Nên đọc =>> Kế thừa trong Java

#1] Thừa kế đơn

Trong 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

Thí 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
Phép trừ của c và d là. 40

đầ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ấp

Trong 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

Thí dụ

________số 8

đầu ra

Tổng của a và b là. 30
Phép trừ của a và b là. 10
Phép nhân của a và b là. 200

đầ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?

Thí 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
Phép trừ của c và d là. 10
Phép nhân của a và c là. 500

đầu ra

Quá tải phương thức trong Python

Nhiề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

Thí 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 Python

Nế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

Thí 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

Thí dụ

 
class MyClass:
a = 10
b = 20
def add[]:
sum = a+b
print[sum] 
2

đầu ra

30
Truy nguyên [lần gọi gần đây nhất].
Tệp “Ẩn dữ liệu. py”, dòng 10, in
print [ob. __num]
AttributeError. Phiên bản MyClass
không có thuộc tính ‘__num

đầu ra

Sự kết luận

Lớ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

Có bao nhiêu khái niệm OOP trong Python?

Bây giờ, có bốn khái niệm cơ bản của lập trình hướng đối tượng – Kế thừa, Đóng gói, Đa hình và Trừu tượng hóa dữ liệu. Điều rất quan trọng là phải biết về tất cả những điều này để hiểu OOP.

Các khái niệm OOP chính là gì?

Các ý tưởng chính đằng sau Lập trình hướng đối tượng của Java, các khái niệm OOP bao gồm trừu tượng hóa, đóng gói, kế thừa và đa hình . Về cơ bản, các khái niệm Java OOP cho phép chúng ta tạo các phương thức và biến làm việc, sau đó sử dụng lại tất cả hoặc một phần của chúng mà không ảnh hưởng đến bảo mật.

5 khái niệm OOP là gì?

Danh sách các khái niệm OOP trong Java .
Các đối tượng
Các lớp học
Sự vật
Lớp
trừu tượng
Di sản
đa hình
đóng gói

7 khái niệm của OOP là gì?

Trừu tượng hóa, đóng gói, đa hình và kế thừa là bốn nguyên tắc lý thuyết chính của lập trình hướng đối tượng. Nhưng Java cũng hoạt động với ba khái niệm OOP khác. hiệp hội, tập hợp, và thành phần.

Chủ Đề