Ví dụ lớp Python

Hướng dẫn chuyên sâu này giải thích các Lớp và Đối tượng Python là gì và các khái niệm liên quan như phương thức, thuộc tính, công cụ sửa đổi, v.v. với các ví dụ

Lập trình hướng đối tượng [OOP] có thể được coi là một phương pháp đóng gói các thuộc tính và hành vi liên quan bằng cách sử dụng một cấu trúc đặc biệt được gọi là các lớp thành các thực thể đơn lẻ được gọi là các đối tượng

Khi chúng ta nghe nói về OOP, điều đầu tiên xuất hiện trong đầu là Lớp và Đối tượng. Trước khi chúng tôi đi sâu vào những điều này là gì, hãy xem một ví dụ thực tế. Hãy tưởng tượng một kiến ​​trúc sư tạo ra một bản thiết kế của một ngôi nhà cho thấy kích thước, cấu trúc, số phòng và các chi tiết khác của ngôi nhà

=> Kiểm tra tại đây để xem hướng dẫn đào tạo Python từ A-Z

Bạn sẽ học được gì

Các lớp và đối tượng Python

Chúng ta có thể coi bản thiết kế là một lớp và các thuộc tính của ngôi nhà là cửa ra vào, cửa sổ, mái nhà, tường, sàn, v.v. và một ngôi nhà có thể có các hành động sau như mở/đóng cửa và cửa sổ, che chắn khỏi

Mỗi khi một ngôi nhà mới được xây dựng từ bản thiết kế này, chúng ta thực sự đang tạo một thể hiện của lớp. Giờ đây, mỗi ngôi nhà có thể có các giá trị khác nhau cho các thuộc tính của nó như màu tường, độ dày của cửa ra vào và cửa sổ, v.v.

Trong hướng dẫn này, chúng ta sẽ đi sâu vào các Lớp và Đối tượng Python

Lập trình hướng đối tượng là gì

OOP cho phép chúng tôi gói các thuộc tính và hành vi tương tự vào các vùng chứa. Trong Python, các thùng chứa này được gọi là Lớp. Một lớp trình bày với thế giới thực một thể hiện của chính nó được gọi là Đối tượng

OOP được thiết kế để giải quyết một số nguyên tắc quan trọng như Mô đun, Trừu tượng và Đóng gói. Chúng ta hãy xem ý nghĩa của từng điều này

tính mô đun

Phần mềm hiện đại thường bao gồm một số thành phần khác nhau có trách nhiệm duy nhất và tương tác với từng đơn đặt hàng để đảm bảo chức năng phù hợp của toàn bộ hệ thống

Tính mô đun trong OOP đề cập đến việc nhóm các thành phần có chức năng liên quan thành một đơn vị. Điều này giúp tăng cường độ bền, khả năng đọc và khả năng sử dụng lại

Như một ví dụ trong thế giới thực, điện thoại di động có thể được coi là một đơn vị duy nhất. Nhưng nó có thể thực hiện một số chức năng như phát nhạc, quay số, nhắn tin, gọi điện, v.v. Mỗi chức năng này là một thành phần được thiết kế và bảo trì riêng biệt, tuy nhiên chúng được kết nối với nhau để thực hiện đúng chức năng của điện thoại di động

Bằng cách này, độ bền đạt được vì mỗi thành phần có thể được kiểm tra, gỡ lỗi và bảo trì riêng biệt. Khả năng tái sử dụng trong trường hợp này rất dễ dàng vì các thành phần này có thể được sử dụng khi có nhu cầu liên quan

Trong Python, chúng ta có các mô-đun là tập hợp các hàm, lớp và biến được định nghĩa trong một tệp duy nhất và có liên quan chặt chẽ với nhau. Ví dụ: mô-đun sys cung cấp các hàm và biến tương tác với trình thông dịch

trừu tượng

Trừu tượng hóa là quá trình che giấu việc triển khai thực sự của một phương thức và chỉ phơi bày các đặc điểm và hành vi cần thiết của nó

Như một ví dụ trong thế giới thực, hãy xem xét điện thoại di động của chúng tôi. Để thực hiện cuộc gọi, chúng ta quay số hoặc chọn một số liên lạc và nhấn nút gọi. Tất cả những gì chúng tôi biết là một cuộc gọi được thực hiện nhưng chúng tôi không biết và chúng tôi có thể không quan tâm đến tất cả các quy trình nền diễn ra để cuộc gọi thành công

Trong Python, lớp ABC của mô-đun abc có thể được mở rộng để xác định các phương thức trừu tượng với trình trang trí. Sau đó, bất kỳ lớp nào được kế thừa từ lớp này phải thực hiện các phương thức trừu tượng đó

đóng gói

Đóng gói trong OOP cho phép lập trình viên hạn chế quyền truy cập vào các thành phần đã chọn [thuộc tính và phương thức] khỏi bị truy cập ngẫu nhiên hoặc phụ thuộc vào

Điều này cho phép lập trình viên tự do triển khai các thành phần này mà không phải lo lắng rằng các lập trình viên khác sẽ viết mã phụ thuộc vào họ

Trong Python, nó được hỗ trợ lỏng lẻo bằng cách thêm dấu gạch dưới kép [__] trước thành phần để nó được đặt ở chế độ riêng tư. Điều này thực sự ngăn nó vô tình bị truy cập, nhưng chúng ta sẽ thấy sau trong hướng dẫn này rằng không có gì thực sự riêng tư trong Python

Định nghĩa lớp

Trong OOP, một lớp đóng vai trò là bản thiết kế cho các thể hiện [đối tượng] của nó, như vậy, là phương tiện chính để trừu tượng hóa. Lớp cung cấp một tập hợp các hành vi dưới dạng các phương thức và thuộc tính. Các phương thức và thuộc tính là chung cho tất cả các thể hiện của lớp đó

cú pháp

class  :
	// class body

Cấu trúc lớp bắt đầu bằng từ khóa, lớp, theo sau là tên của lớp, dấu hai chấm [. ], và sau đó là một khối mã thụt vào còn được gọi là phần thân của lớp

Hãy xem xét sơ đồ dưới đây của một lớp in một chuỗi

Định nghĩa lớp

Ví dụ 1. Định nghĩa một lớp có thể cộng và trừ hai số.

Theo cú pháp trên, chúng ta sẽ quyết định đặt tên cho lớp của mình. Sau đó, trong phần thân của lớp, chúng ta sẽ định nghĩa hai phương thức là i. e. cộng và trừ. Mỗi phương thức này sẽ thực hiện thao tác cộng và trừ tương ứng

class add_sub:
    def __init__[self, x, y]:
        self.x = x
        self.y = y
    # define 'add' method
    def add[self]:
        return self.x + self.y
    # define 'subtract' method
    def subtract[self]:
        return self.x - self.y

if __name__ == '__main__':
    x = 10
    y = 6
    # create an instance 
    opp = add_sub[x,y]

    # call add method
    print[f'{x} + {y} = {opp.add[]}']
    #print[opp.add[]]

    # call subtract method
    print[f'{x} - {y} = {opp.subtract[]}']

đầu ra

Vài điều cần lưu ý từ ví dụ trên là

  • Phương thức __init__ được dành riêng trong Python, còn được gọi là hàm tạo, nó được gọi mỗi khi một đối tượng hoặc thể hiện được tạo từ một lớp. Nó thường được dùng để khởi tạo các thuộc tính của lớp cho đối tượng được tạo
  • Mỗi phương thức của lớp có mã định danh riêng, xác định thể hiện mà phương thức được gọi. Điều này cho phép chúng ta tạo bao nhiêu đối tượng của một lớp tùy ý

Đối tượng lớp

Chúng ta đã thấy rằng một lớp học là một kế hoạch chi tiết. Vì vậy, các đối tượng còn được gọi là thể hiện được biết đến là hiện thực của kế hoạch chi tiết, chứa các giá trị thực

Trong ví dụ 1 ở trên, dòng mã

opp = add_sub[x,y]

Tạo một đối tượng của lớp và chuyển hai biến cho nó; . Về cơ bản, điều này sẽ gọi các phương thức dành riêng __init__ sẽ nhận các tham số này và khởi tạo các biến của lớp. Thông qua đối tượng này, chúng ta có thể truy cập các phương thức và biến công khai của lớp

Nhờ có self-identifier mà chúng ta có thể tạo bao nhiêu đối tượng của một lớp tùy thích. Điều quan trọng cần lưu ý là định danh bản thân không nhất thiết phải được gọi là bản thân. Nó có thể là bất cứ thứ gì, miễn là nó xuất hiện dưới dạng tham số đầu tiên trong bất kỳ phương thức lớp nào

Các phương thức và thuộc tính của lớp

Khối xây dựng của một lớp là các thuộc tính và phương thức của nó. Trong phần này, chúng ta sẽ xem các phương thức lớp, thuộc tính lớp và phương thức thể hiện, thuộc tính thể hiện là gì và tìm hiểu cách sử dụng chúng

Thuộc tính lớp và trường hợp

Trong lớp, chúng ta có thể tạo cả thuộc tính lớp và thuộc tính thể hiện. Nhưng những thuộc tính này là gì?

Ví dụ 2. Xác định thuộc tính lớp và cá thể

class Cylinder:
    # class attribute
    pi = 3.14
    def __init__[self, radius, height]:
        # instance variables
        self.radius = radius
        self.height = height
        
if __name__ == '__main__':
    c1 = Cylinder[4, 20]
    c2 = Cylinder[10, 50]

    print[f'Pi for c1:{c1.pi} and c2:{c2.pi}']
    print[f'Radius for c1:{c1.radius} and c2:{c2.radius}']
    print[f'Height for c1:{c1.height} and c2:{c2.height}']
    print[f'Pi for both c1 and c2 is: {Cylinder.pi}']

đầu ra

Thuộc tính lớp được xác định ở cấp độ của lớp trong khi các thuộc tính thể hiện được khởi tạo trong phương thức đặc biệt [__init__] nơi chúng được gắn với định danh tự

Các thuộc tính của lớp chủ yếu được sử dụng để đặt một giá trị không đổi hoặc mặc định sẽ được sử dụng trong tất cả các phiên bản của lớp trong khi các thuộc tính của phiên bản có nghĩa là cụ thể cho từng phiên bản của lớp

Trong ví dụ 2 ở trên, chúng ta có thể truy cập các thuộc tính của lớp giống như cách chúng ta có thể truy cập các thuộc tính của cá thể. Tuy nhiên, chúng ta cũng có thể truy cập các thuộc tính của lớp bằng cách truy cập trực tiếp vào lớp. Kiểm tra bản in cuối cùng trong ví dụ 2

Phương thức lớp và sơ thẩm

Phương pháp là gì? . Để biết thêm về các hàm, hãy xem hướng dẫn về Hàm Python

Chúng ta có thể định nghĩa nhiều loại phương thức trong một lớp. Chúng tôi có phương thức lớp có thể được truy cập trực tiếp từ lớp và chúng tôi có phương thức thể hiện chỉ có thể được truy cập thông qua một thể hiện của lớp. Hãy xem xét ví dụ dưới đây

Ví dụ 3. Xác định phương thức lớp và thể hiện

Tiếp theo ví dụ 2, hãy thêm các phương thức lớp và thể hiện vào lớp Cylinder của chúng ta

class Cylinder:
    # class attribute
    pi = 3.14
    def __init__[self, radius, height]:
        # instance variables
        self.radius = radius
        self.height = height

    # instance method
    def volume[self]:
        return Cylinder.pi * self.radius**2 * self.height

    # class method
    @classmethod
    def description[cls]:
        return f'This is a Cylinder class that computes the volume using Pi={cls.pi}'
        
if __name__ == '__main__':
    c1 = Cylinder[4, 2] # create an instance/object

    print[f'Volume of Cylinder: {c1.volume[]}'] # access instance method 
    print[Cylinder.description[]] # access class method via class
    print[c1.description[]] # access class method via instance

đầu ra

Khối lượng phương thức là một phương thức thể hiện. Nó nhận một tham số đầu tiên bắt buộc [mã định danh tự] và truy cập thuộc tính thể hiện của lớp với mã định danh này. Phương thức này chỉ được truy cập thông qua các thể hiện của lớp

Mô tả phương thức là một phương thức lớp. Không giống như các phương thức thể hiện, phương thức này được liên kết với lớp chứ không phải thể hiện của nó. Họ cũng lấy một tham số đầu tiên bắt buộc, thay vào đó trỏ đến lớp chứ không phải đối tượng. Trong Python, trình trang trí được sử dụng để tạo các phương thức lớp này

Trước khi kết thúc phần này, chúng ta cũng nên lưu ý rằng chúng ta có các phương thức tĩnh được tạo bằng cách sử dụng trình trang trí. Các phương thức này không nhận được đối số ngầm định đầu tiên và có thể được gọi từ lớp và thể hiện

Công cụ sửa đổi truy cập [Riêng tư, Công khai và Được bảo vệ]

Trong Python và các ngôn ngữ lập trình khác như C++ và Java, các công cụ sửa đổi quyền truy cập được sử dụng để hạn chế quyền truy cập vào các thuộc tính và phương thức của lớp. Đây là mức bảo mật bổ sung có quyền truy cập và sửa đổi trái phép

Python có ba loại công cụ sửa đổi truy cập. Trong phần này, chúng ta sẽ khám phá từng người trong số họ

Công cụ sửa đổi truy cập công cộng

Công cụ sửa đổi truy cập công khai hiển thị các thuộc tính và phương thức của lớp có thể truy cập dễ dàng từ bất kỳ phần nào của chương trình. Không có cách xử lý đặc biệt nào để đưa ra một thuộc tính và phương thức của lớp để đặt nó ở chế độ công khai vì chúng là công khai theo mặc định

Trong ví dụ 2, chúng ta có thể truy cập các thuộc tính của Xi lanh; . Ngoài ra, trong ví dụ 3, chúng ta có thể truy cập các phương thức của lớp Cylinder; . Điều này là có thể và nhờ công cụ sửa đổi truy cập công khai

Công cụ sửa đổi quyền truy cập được bảo vệ

Công cụ sửa đổi truy cập được bảo vệ hiển thị các thuộc tính và phương thức của một lớp chỉ có thể truy cập được đối với một lớp bắt nguồn từ nó. Ở đây, chúng ta cần xử lý đặc biệt bằng cách thêm một dấu gạch dưới '_' trước tên thuộc tính hoặc phương thức để bảo vệ nó

Ví dụ 4. Kết xuất các thuộc tính và phương thức của lớp được bảo vệ.

Ở đây, chúng tôi sẽ giới thiệu một khái niệm mới gọi là thừa kế mà chúng tôi sẽ thảo luận thêm trong phần dưới đây

class Article:
    def __init__[self, title, page_count]:
        # initialize protected attributes
        self._title = title
        self._page_count = page_count
        
    # define protected method
    def _show[self]:
        # access protected attributes inside class 
        print["Article Title: ", self._title]
        print["Page Count: ", self._page_count]
        
class Author[Article]:
    def __init__[self, name, title, page_count]:
        Article.__init__[self, title, page_count]
        self.name = name
    def display[self]:
        print["Author Name: ", self.name]
        # access Article's protected method
        self._show[]
        print["------------------ \n"]
        
        
author = Author["Eyong Kevin", "Python Classes and Objects", 3000]
author.display[]
# access protected data
print[author._title]

đầu ra

Từ đoạn mã ví dụ trên, chúng ta thấy một số biến và phương thức được bảo vệ trong lớp Article. Lớp này sau đó được dẫn xuất trong lớp Tác giả có thể tự do truy cập các thuộc tính này

Tuy nhiên, dòng mã cuối cùng in[tác giả. _title] cho chúng tôi biết điều gì đó khác biệt. Chúng tôi cũng có thể truy cập các thuộc tính được bảo vệ này trong lớp từ nơi nó được bắt nguồn

Giống như công cụ sửa đổi quyền truy cập riêng tư mà chúng ta sẽ thấy sau, không có giới hạn rõ ràng nào được cung cấp bởi công cụ sửa đổi quyền truy cập được bảo vệ. Đây chỉ là một quy ước trong Python, bất kỳ thuộc tính nào trước dấu gạch dưới phải được coi là được bảo vệ

Công cụ sửa đổi quyền truy cập riêng tư

Công cụ sửa đổi truy cập riêng tư hiển thị các thuộc tính và phương thức của lớp chỉ có thể truy cập được trong lớp của nó. Trong Python, bắt buộc phải thêm ký hiệu gạch dưới kép '__' trước các thuộc tính để đặt ở chế độ riêng tư

Ví dụ 5. Hiển thị các thuộc tính và phương thức của một lớp ở chế độ riêng tư.

class Language:
    # private class attribute
    __country = "Cameroon"
    def __init__[self, name]:
        # initialize private instance attribute
        self.__name = name
        
    # private method
    def __show[self]:
        # access private attributes
        print["Country: ", Language.__country]
        print["Name :", self.__name]
        
    # public method
    def display[self]:
        # access private method within class
        self.__show[]
        
lang = Language["English"]
lang.display[]

# access private variable and method
lang._Language__show[]
print["Access Private Name: ",lang._Language__name]

đầu ra

Dòng mã lang. _Language__show[] chỉ ra cách chúng ta có thể truy cập một thuộc tính riêng bên ngoài lớp của nó

Vì vậy, chúng ta nên hiểu rằng các thuật ngữ Riêng tư và Được bảo vệ chỉ là các chuyển đổi trong Python và không có hạn chế thực sự nào như được tuyên bố

Không gian tên lớp và sơ thẩm

Một không gian tên là một tập hợp các đối tượng hiện được xác định. Python duy trì một không gian tên trong cấu trúc giống như từ điển trong đó tên của đối tượng đại diện cho khóa và chính đối tượng đại diện cho giá trị. Trong thế giới của các lớp và đối tượng, chúng ta có Instance và Class Namespaces

Không gian tên thực thể là tập hợp các thuộc tính hiện được xác định cụ thể cho một thể hiện riêng lẻ của một lớp. Trong ví dụ 2 ở trên, tất cả các thuộc tính i. e. bán kính, chiều cao, âm lượng [] có thể được truy cập thông qua thể hiện của lớp tạo nên không gian tên thể hiện

Không gian tên lớp là tập hợp các thuộc tính hiện được xác định không liên quan đến bất kỳ phiên bản cụ thể nào. Chúng sẽ được chia sẻ bởi tất cả các phiên bản của lớp. Trong ví dụ 2, chúng ta đã thấy rằng thuộc tính lớp pi và phương thức description[] có thể được truy cập bằng cách tham chiếu chính lớp đó

Chúng ta có thể thấy trong ví dụ 2 rằng chúng ta có thể truy cập các thuộc tính từ Không gian tên lớp [thuộc tính lớp] thông qua thể hiện của lớp nhưng chúng ta không thể truy cập không gian tên thể hiện [thuộc tính thể hiện] thông qua chính lớp đó

Kế thừa lớp

Trong phát triển phần mềm hiện đại, người ta thường tổ chức các thành phần cấu trúc khác nhau của phần mềm theo kiểu phân cấp. Việc tổ chức này được thực hiện theo phương thức từng cấp với mối quan hệ “là một” giữa các cấp

Sơ đồ dưới đây cho thấy sự kế thừa trong thế giới xe cộ

Thừa kế xe cộ

Kiểu phân cấp này nhóm các thành phần chung ở cấp cao nhất trong khi các thành phần cụ thể hơn được nhóm ở các cấp thấp hơn được gọi là kế thừa

Trong Python, các thuật ngữ lớp cha và lớp cơ sở được sử dụng để biểu thị các thành phần cấp cao nhất trong khi lớp con và lớp con được sử dụng để biểu thị các thành phần cấp thấp hơn

Một lớp cha thường là tổng quát trong khi lớp con chuyên về một hành vi hiện có bằng cách ghi đè một phương thức hiện có của cha mẹ hoặc mở rộng phương thức đó

Trước khi chúng ta xem xét một ví dụ đơn giản, hãy lưu ý rằng trong Python có bốn loại kế thừa

  • Duy nhất
  • Nhiều
  • đa cấp
  • Thứ bậc

Ví dụ 6. Thể hiện quyền thừa kế giữa con và cha mẹ.

Trong ví dụ này, chúng ta sẽ xem xét kiểu đầu tiên [đơn] và chúng ta sẽ đề cập đến việc ghi đè phương thức và hàm super[]

class Parent[]:
    def __init__[self, hair_color, temper]:
        self.hair_color = hair_color
        self.temper = temper
    def sleeping_style[self]:
        print['big fan of nap']
 
class Child[Parent]:
    def __init__[self, hair_color, temper]:
        # call the base class init function
        super[].__init__[hair_color, temper ]
    def sleeping_style[self]:
        # extending the base class method
        super[].sleeping_style[]
        print['tossing and turning']
 

if __name__ == '__main__':
    # create instance of the child class
    enow = Child['black', 'slow in anger']
    enow.sleeping_style[]
    print[enow.hair_color]
    print[enow.temper]

đầu ra

Trong ví dụ trên, chúng ta có hai lớp, lớp Cha mẹ và lớp Con. Thông qua kế thừa, lớp Con kế thừa một số thuộc tính của lớp Cha như màu tóc, tính khí và thậm chí cả kiểu ngủ. Lưu ý cách lớp Parent được truyền dưới dạng đối số cho lớp Con

Trong lớp Con, chúng ta sử dụng hàm super[] để truy cập các thuộc tính của lớp Cha. Hàm này được gọi hai lần, một lần trong hàm __init__[] và được truyền cho các tham số để khởi tạo các thuộc tính của lớp Parent. Nó được gọi lại trong phương thức sleep_style[] và được mở rộng với nhiều kiểu ngủ hơn

Lớp Con không định nghĩa các thuộc tính cho màu tóc và tính khí mà kế thừa chúng từ lớp Cha nơi nó được khởi tạo

Đa hình với kế thừa

Trong Python, Đa hình cho phép chúng ta ghi đè hoặc mở rộng các phương thức của lớp Cha trong lớp Con. Trong trường hợp này, chúng ta định nghĩa các phương thức trong lớp Con có cùng tên với các phương thức trong lớp Cha

Điều này thường xảy ra khi một phương thức kế thừa từ lớp Cha không thỏa mãn lớp Con. Một thuật ngữ phổ biến khác được sử dụng ở đây là Method Overriding

Trong ví dụ 6 ở trên, chúng ta có phương thức sleep_style[] xuất hiện cả trong lớp Parent và Child. Vì kiểu ngủ của Trẻ không chỉ là ngủ trưa, mà còn có cả trằn trọc. Để thỏa mãn lớp Con, chúng ta phải ghi đè lên lớp Cha

Các câu hỏi thường gặp

Câu hỏi 1] Các loại kế thừa trong Python là gì?

Câu trả lời. Trong Python, chúng tôi có bốn loại kế thừa là Đơn, Nhiều, Đa cấp và Phân cấp

Q #2] Super[]__init__ trong Python là gì?

Câu trả lời. Hàm super[] cho phép chúng ta truy cập trực tiếp các thuộc tính của cha mẹ từ con. Vì vậy, siêu[]. __init__ sẽ gọi phương thức __init__ của cha mẹ trong lớp con

Q #3] Self có nghĩa là gì trong Python?

Câu trả lời. bản thân - còn được gọi là định danh bản thân xác định trường hợp mà một phương thức hoặc thuộc tính được gọi. Nó cho phép chúng ta tạo nhiều thể hiện của cùng một lớp và mỗi thể hiện sẽ duy trì các biến thể hiện của riêng nó để phản ánh trạng thái hiện tại của nó

Q #4] Hàm đa hình là gì?

Câu trả lời. Trong Python, một hàm có thể chấp nhận các đối số thuộc các loại khác nhau được gọi là hàm Đa hình

Ví dụ hàm print[] bên dưới

________số 8

Q #5] Bạn gọi một lớp trong Python như thế nào?

Câu trả lời. Trong Python, chúng tôi gọi một lớp bằng tên của nó, theo sau là dấu ngoặc đơn mở và đóng trong đó chúng tôi cung cấp cho nó một số đối số sẽ được chấp nhận trong phương thức __init__ của nó. Quá trình này tạo ra một thể hiện của lớp

Q #6] Tại sao __ được sử dụng trong Python?

Trả lời. Trong Python, chúng tôi sử dụng dấu gạch dưới kép [__] trước tên thuộc tính để đặt thuộc tính riêng tư. Ngoài ra, chúng ta có thể sử dụng nó hoặc dấu gạch dưới đơn [_] sau tên thuộc tính để tránh xung đột tên với từ khóa dành riêng. Ví dụ: lớp__

Sự kết luận

Trong hướng dẫn này, chúng ta đã xem Lớp và Đối tượng là gì trong OOP

Chúng tôi đã xem xét tầm quan trọng của OOP và kiểm tra các thành phần của một lớp, chẳng hạn như các biến và phương thức mà theo đó chúng tôi xử lý các công cụ sửa đổi quyền truy cập như Riêng tư, Công khai và Được bảo vệ

lớp trong Python với ví dụ là gì?

Các đối tượng và lớp Python . Tương tự, một lớp là bản thiết kế cho đối tượng đó . Chúng ta có thể coi một lớp như một bản phác thảo [nguyên mẫu] của một ngôi nhà. Nó chứa tất cả các chi tiết về sàn nhà, cửa ra vào, cửa sổ, v.v.

Một số ví dụ về lớp học là gì?

Giai cấp đề cập đến mức độ tài chính, giáo dục và quyền lực mà mọi người có. trong U. S. , chúng ta thường nói về ba lớp. tầng lớp lao động, trung lưu và thượng lưu . Những người trong cùng một tầng lớp có mức độ tiếp cận tài nguyên, giáo dục và quyền lực tương tự nhau.

Lớp học trong ví dụ thời gian thực Python là gì?

Một lớp là bản thiết kế mà từ đó các đối tượng riêng lẻ được tạo ra . Ví dụ, trong thế giới thực, có thể có hàng nghìn chiếc ô tô đang tồn tại, tất cả đều cùng kiểu dáng và kiểu dáng. Mỗi chiếc xe được chế tạo từ cùng một bộ bản thiết kế và do đó chứa các bộ phận giống nhau.

Làm cách nào để xác định một lớp trong Python?

Một lớp trong Python có thể được định nghĩa bằng cách sử dụng từ khóa lớp . Theo cú pháp trên, một lớp được định nghĩa bằng từ khóa lớp theo sau là tên lớp và. toán tử sau tên lớp, cho phép bạn tiếp tục ở dòng thụt lề tiếp theo để xác định các thành viên lớp.

Chủ Đề