Kapselung ist eine der Grundideen der objektorientierten Programmierung. Es verbirgt die Darstellungs- und Implementierungsdetails von Daten hinter abstrakten Schnittstellen und bietet eine einheitliche Zugriffsmethode für die Außenwelt, wodurch Informationsvertraulichkeit und „Sicherheit“ erreicht werden. In
Pythonkann die Kapselung durch die Verwendung von Klassen und Objekten erreicht werden. Eine Klasse definiert die Eigenschaften und Methoden von Daten. Ein Objekt ist eine Instanz einer Klasse. Es verfügt über die Eigenschaften und Methoden der Klasse und kann diese Methoden aufrufen, um Daten zu verarbeiten. Der folgende Code definiert beispielsweise eine Methode mit dem Namen :
class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print("Hello, my name is %s and I am %d years old." % (self.name, self.age))
Person
的类,它包含了姓名和年龄两个属性,以及一个名为greet()
So erstellen Sie eine -Klasse, wie unten gezeigt:
person1 = Person("John", 25)
Person
对象,只需调用Person()
Jetzt können wir dies mit der Methode tun:
print(person1.name)# 输出:John print(person1.age)# 输出:25 person1.greet()# 输出:Hello, my name is John and I am 25 years old.
person1
对象访问name
和age
属性,并调用greet()
2. Das Geheimnis der abstrakten Python-Klassen
In Python können abstrakte Klassen die abstrakten Methoden von
verwenden:
from abc import ABCMeta, abstractmethod class Animal(metaclass=ABCMeta): @abstractmethod def speak(self): pass
abc
模块来定义。abc
模块提供了ABCMeta
类,它是一个元类,可以用来定义抽象类。例如,以下代码定义了一个名为Animal
的抽象类,它包含了一个名为speak()
Abstrakte Methoden müssen mit Methode: enden
class Dog(Animal): def speak(self): print("Woof!")
@abstractmethod
装饰器来修饰。抽象类不能被实例化,但可以被其他类继承。例如,以下代码定义了一个名为Dog
的类,它继承自Animal
类,并实现了speak()
Jetzt können wir eine Methode erstellen:
dog1 = Dog() dog1.speak()# 输出:Woof!
Dog
对象,并调用speak()
3. Anwendung von Python-Kapselung und abstrakten Klassen
Verbessern Sie die Lesbarkeit, Wartbarkeit und Wiederverwendbarkeit des Codes
Das obige ist der detaillierte Inhalt vonEntdecken Sie die Geheimnisse der Python-Kapselung und abstrakter Klassen und beherrschen Sie die Essenz der objektorientierten Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!