Điểm hướng dẫn OOP Python

Python cũng là một ngôn ngữ lập trình hướng đối tượng. Và, giống như các ngôn ngữ OOP khác, nó cũng hỗ trợ khái niệm đối tượng và lớp

Một đối tượng là bất kỳ thực thể nào có thuộc tính và hành vi. Ví dụ, một

Blu is 10 years old
Woo is 15 years old
0 là một đối tượng. Nó có

  • thuộc tính - tên, tuổi, màu sắc, v.v.
  • hành vi - khiêu vũ, ca hát, v.v.

Tương tự, một lớp là một bản thiết kế cho đối tượng đó

Lớp và đối tượng Python

class Parrot:

    # class attribute
    name = ""
    age = 0

# create parrot1 object
parrot1 = Parrot[]
parrot1.name = "Blu"
parrot1.age = 10

# create another object parrot2
parrot2 = Parrot[]
parrot2.name = "Woo"
parrot2.age = 15

# access attributes
print[f"{parrot1.name} is {parrot1.age} years old"]
print[f"{parrot2.name} is {parrot2.age} years old"]

đầu ra

Blu is 10 years old
Woo is 15 years old

Trong ví dụ trên, chúng tôi đã tạo một lớp có tên Parrot với hai thuộc tính. tên và tuổi

Sau đó, chúng ta tạo các thể hiện của lớp Parrot. Ở đây, vẹt1 và vẹt2 là các tham chiếu [giá trị] cho các đối tượng mới của chúng ta

Sau đó, chúng tôi đã truy cập và gán các giá trị khác nhau cho các thuộc tính thể hiện bằng cách sử dụng tên đối tượng và ký hiệu

Blu is 10 years old
Woo is 15 years old
1

Để tìm hiểu thêm về các lớp và đối tượng, hãy truy cập Lớp và đối tượng Python

Kế thừa Python

Kế thừa là cách tạo một lớp mới để sử dụng các chi tiết của một lớp hiện có mà không sửa đổi nó

Lớp mới thành lập là lớp dẫn xuất [hoặc lớp con]. Tương tự, lớp hiện có là lớp cơ sở [hoặc lớp cha]

ví dụ 2. Sử dụng thừa kế trong Python

# base class
class Animal:
    
    def eat[self]:
        print[ "I can eat!"]
    
    def sleep[self]:
        print["I can sleep!"]

# derived class
class Dog[Animal]:
    
    def bark[self]:
        print["I can bark! Woof woof!!"]

# Create object of the Dog class
dog1 = Dog[]

# Calling members of the base class
dog1.eat[]
dog1.sleep[]

# Calling member of the derived class
dog1.bark[];

đầu ra

I can eat!
I can sleep!
I can bark! Woof woof!!

Ở đây, dog1 [đối tượng của lớp dẫn xuất Dog] có thể truy cập các thành viên của lớp cơ sở Animal. Đó là bởi vì Chó được thừa hưởng từ Động vật

# Calling members of the Animal class
dog1.eat[]
dog1.sleep[]

Để tìm hiểu thêm về thừa kế, hãy truy cập Kế thừa Python

Đóng gói Python

Đóng gói là một trong những tính năng chính của lập trình hướng đối tượng. Đóng gói đề cập đến việc gói các thuộc tính và phương thức bên trong một lớp

Nó ngăn chặn các lớp bên ngoài truy cập và thay đổi các thuộc tính và phương thức của một lớp. Điều này cũng giúp đạt được ẩn dữ liệu

Trong Python, chúng tôi biểu thị các thuộc tính riêng bằng cách sử dụng dấu gạch dưới làm tiền tố i. e

Blu is 10 years old
Woo is 15 years old
2 đơn hoặc đôi
Blu is 10 years old
Woo is 15 years old
3. Ví dụ,

class Computer:

    def __init__[self]:
        self.__maxprice = 900

    def sell[self]:
        print["Selling Price: {}".format[self.__maxprice]]

    def setMaxPrice[self, price]:
        self.__maxprice = price

c = Computer[]
c.sell[]

# change the price
c.__maxprice = 1000
c.sell[]

# using setter function
c.setMaxPrice[1000]
c.sell[]

đầu ra

class Parrot:

    # class attribute
    name = ""
    age = 0

# create parrot1 object
parrot1 = Parrot[]
parrot1.name = "Blu"
parrot1.age = 10

# create another object parrot2
parrot2 = Parrot[]
parrot2.name = "Woo"
parrot2.age = 15

# access attributes
print[f"{parrot1.name} is {parrot1.age} years old"]
print[f"{parrot2.name} is {parrot2.age} years old"]
0

Trong chương trình trên, chúng tôi đã định nghĩa một lớp Máy tính

Chúng tôi đã sử dụng phương pháp

Blu is 10 years old
Woo is 15 years old
4 để lưu trữ giá bán tối đa của
Blu is 10 years old
Woo is 15 years old
5. Ở đây, chú ý mã

class Parrot:

    # class attribute
    name = ""
    age = 0

# create parrot1 object
parrot1 = Parrot[]
parrot1.name = "Blu"
parrot1.age = 10

# create another object parrot2
parrot2 = Parrot[]
parrot2.name = "Woo"
parrot2.age = 15

# access attributes
print[f"{parrot1.name} is {parrot1.age} years old"]
print[f"{parrot2.name} is {parrot2.age} years old"]
3

Ở đây, chúng tôi đã cố gắng sửa đổi giá trị của __maxprice bên ngoài lớp. Tuy nhiên, vì __maxprice là một biến riêng tư, nên sửa đổi này không được nhìn thấy trên đầu ra

Như được hiển thị, để thay đổi giá trị, chúng ta phải sử dụng hàm setter i. e

Blu is 10 years old
Woo is 15 years old
6 lấy giá làm tham số

đa hình

Đa hình là một khái niệm quan trọng khác của lập trình hướng đối tượng. Nó chỉ đơn giản có nghĩa là nhiều hơn một hình thức

Nghĩa là, cùng một thực thể [phương thức hoặc toán tử hoặc đối tượng] có thể thực hiện các hoạt động khác nhau trong các tình huống khác nhau

Hãy xem một ví dụ,

class Parrot:

    # class attribute
    name = ""
    age = 0

# create parrot1 object
parrot1 = Parrot[]
parrot1.name = "Blu"
parrot1.age = 10

# create another object parrot2
parrot2 = Parrot[]
parrot2.name = "Woo"
parrot2.age = 15

# access attributes
print[f"{parrot1.name} is {parrot1.age} years old"]
print[f"{parrot2.name} is {parrot2.age} years old"]
5

đầu ra

class Parrot:

    # class attribute
    name = ""
    age = 0

# create parrot1 object
parrot1 = Parrot[]
parrot1.name = "Blu"
parrot1.age = 10

# create another object parrot2
parrot2 = Parrot[]
parrot2.name = "Woo"
parrot2.age = 15

# access attributes
print[f"{parrot1.name} is {parrot1.age} years old"]
print[f"{parrot2.name} is {parrot2.age} years old"]
6

Trong ví dụ trên, chúng ta đã tạo một lớp cha. Đa giác và hai lớp con. Hình vuông và Hình tròn. Lưu ý việc sử dụng phương pháp

Blu is 10 years old
Woo is 15 years old
7

Mục đích chính của phương thức

Blu is 10 years old
Woo is 15 years old
7 là hiển thị hình dạng. Tuy nhiên, quy trình dựng hình vuông khác với quy trình dựng hình tròn

Do đó, phương thức

Blu is 10 years old
Woo is 15 years old
7 hoạt động khác nhau trong các lớp khác nhau. Hoặc, chúng ta có thể nói
Blu is 10 years old
Woo is 15 years old
7 là đa hình

4 trụ cột của OOP trong Python là gì?

Giống như các ngôn ngữ Hướng đối tượng khác, khi tạo các đối tượng sử dụng các lớp, có bốn [4] nguyên tắc cơ bản để viết mã rõ ràng và ngắn gọn. Những nguyên tắc này được gọi là bốn trụ cột của lập trình hướng đối tượng [OOP]. Bốn trụ cột này là Kế thừa, Đa hình, Đóng gói và Trừu tượng hóa .

Python OOP có khó không?

Bạn không đơn độc ngay cả khi tôi cảm thấy bị bỏ rơi sau khi tiếp cận chủ đề OOP trong khóa học về trăn. Nó không phải là một chủ đề dễ dàng để nắm bắt. Cố gắng học hỏi từ các nguồn khác nhau, chẳng hạn như;

OOP trong Python là gì?

Lập trình hướng đối tượng [OOP] là một phương pháp cấu trúc chương trình bằng cách gộp các thuộc tính và hành vi có liên quan vào các đối tượng riêng lẻ . Trong hướng dẫn này, bạn sẽ tìm hiểu kiến ​​thức cơ bản về lập trình hướng đối tượng trong Python. Về mặt khái niệm, các đối tượng giống như các thành phần của một hệ thống.

4 điều cơ bản của OOP là gì?

Trừu tượng hóa, đóng gói, kế thừa và đa hình là bốn trong số các nguyên tắc chính của lập trình hướng đối tượng.

Chủ Đề