Heim > Backend-Entwicklung > Python-Tutorial > [Python-Lernen] Objektorientierte Programmierung

[Python-Lernen] Objektorientierte Programmierung

little bottle
Freigeben: 2019-04-09 09:27:35
nach vorne
2259 Leute haben es durchsucht

Prozessorientierte Programmierung betrachtet ein Computerprogramm als eine Reihe von Befehlssätzen, also die sequentielle Ausführung einer Reihe von Funktionen . Um die Programmierung zu vereinfachen, werden prozessorientierte Funktionen weiterhin in Unterfunktionen unterteilt, das heißt, große Funktionen werden in kleine Funktionen zerlegt, um die Komplexität des Systems zu reduzieren.

Python und Java sind beide objektorientierte Sprachen. Merkmale der objektorientierten Programmierung Datenkapselung, Vererbung und Polymorphismus
1. Klassen und Instanzen
Die wichtigsten Konzepte der objektorientierten Programmierung sind Klassen und Instanzen), Sie müssen bedenken, dass eine Klasse eine abstrakte Vorlage ist, z. B. die Student-Klasse, und Instanzen spezifische „Objekte“ sind, die auf der Grundlage der Klasse erstellt werden. Jedes Objekt verfügt über dieselben Methoden, ihre Daten können jedoch unterschiedlich sein.
In Python wird das Schlüsselwort class auch zum Definieren einer Klasse verwendet. Auf die Klasse folgt der Klassenname, der am Anfang großgeschrieben werden muss. Die Klammern danach geben an, welche Klasse sie erbt, also ihre übergeordnete Klasse .

class Student(object):
    pass
Nach dem Login kopieren

Wir können Attribute frei an diese Variable binden

>>>nick.name = 'Liu Ling Hao'
>>>nick.name
'Liu Ling Hao'
Nach dem Login kopieren

und die verschiedenen später definierten Funktionen sind Methoden. Zusammenfassend lässt sich sagen: Objekt = Attribut + Methode
Da Klassen als Vorlagen fungieren können, können wir beim Erstellen einer Instanz das Ausfüllen einiger Attribute erzwingen, von denen wir glauben, dass sie gebunden werden müssen. Zu diesem Zeitpunkt müssen Sie die speziellere Methode __init__ verwenden. (Es gibt zwei Unterstriche vor und nach int)
Der erste Parameter der __init__-Methode ist immer self, was die erstellte Instanz selbst darstellt.

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = scor
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59
Nach dem Login kopieren

Wenn Sie die __init__-Methode haben, können Sie beim Erstellen einer Instanz keine leeren Parameter übergeben. Sie müssen Parameter übergeben, die der __init__-Methode entsprechen
2. Kapselung, Vererbung und Polymorphismus >Ein wichtiges Merkmal der objektorientierten Programmierung ist die Datenkapselung.
Genau wie der Name und die Punktzahl im obigen Beispiel können wir direkt über die in der Klasse definierten Funktionen darauf zugreifen. Wir können beispielsweise ein Datenelement hinzufügen oder eine Liste sortieren Ich weiß es nicht. Der Innenraum wird dadurch erreicht, wie er angepasst wird.

Wenn wir eine Klasse definieren, kann sie von einer vorhandenen Klasse erben. Die neue Klasse wird als Unterklasse (Subclass) bezeichnet, und die geerbte Klasse wird als Basisklasse oder übergeordnete Klasse bezeichnet Klasse (Basisklasse, Superklasse).

Der Vorteil der Vererbung besteht darin, dass Sie alle Funktionen der übergeordneten Klasse erhalten. Bei Unterklassen können Sie weiterhin auf Basis der übergeordneten Klasse schreiben, was bequemer ist

class Person(object):
    def idea(self):
        print('study is happy')class Liu(Person):
    pass
liu =Liu()liu.idea

study is happy
Nach dem Login kopieren

Natürlich, wenn die Unterklasse dieselbe Methode wie die übergeordnete Klasse hat, überschreibt sie automatisch den

Polymorphismus der übergeordneten Klasse: Verschiedene Objekte reagieren auf unterschiedliche Aktionen für dieselbe Methode

>>>class Nick1:
    def name(self):
          	 print("我是1")
>>>class Nick2:
    def name(self):
    		 print("我是2") 
>>>a = Nick1()
>>>b = Nick2()
>>>a.name
我是1
>>>b.name
我是2
Nach dem Login kopieren

Obwohl die verwendeten Funktionsnamen gleich sind, sind die Implementierungen unterschiedlich.

def run(animal):
    animal.run()
    animal.run()
    >>> run(Animal())
Animal is running...
Animal is running...
>>> run_twice(Dog())
Dog is running...
Dog is running...
Nach dem Login kopieren
Der Vorteil des Polymorphismus besteht darin, dass wir, wenn wir Hunde oder andere Tiere übergeben müssen, nur den Tiertyp empfangen müssen, da Hunde alle Tiertypen sind, und dann entsprechend dem Tiertyp arbeiten müssen. Da der Animal-Typ über eine run()-Methode verfügt, ruft jeder übergebene Typ, sofern es sich um eine Animal-Klasse oder Unterklasse handelt, automatisch die run()-Methode des tatsächlichen Typs auf. Dies ist Polymorphismus.

[Empfohlener Kurs:

Python-Video-Tutorial]

Das obige ist der detaillierte Inhalt von[Python-Lernen] Objektorientierte Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage