C++-Zusammenfassung: Grundkonzepte der Objektorientierung
Objektorientierte Sprache
Im ersten Semester des ersten Studienjahres haben wir die Sprache C gelernt. Es ist eine sehr klassische und sehr einfache Sprache, die C++ wahrscheinlich nicht entkommen hat Vom Namen her ist es eine Ableitung von C. Es enthält fast alle Inhalte von C. Ihre Designideen sind jedoch ganz anders, während C++ ein objektorientiertes Programm ist zwischen den beiden.
Prozessorientiert: Analysieren Sie die zur Lösung des Problems erforderlichen Schritte und implementieren Sie diese Schritte dann Schritt für Schritt. Rufen Sie sie bei der Verwendung einfach einzeln auf.
Objektorientiert: besteht darin, die Transaktion, die das Problem darstellt, in verschiedene Objekte zu zerlegen. Der Zweck der Objektfestlegung besteht nicht darin, einen Schritt abzuschließen, sondern das Verhalten von etwas im gesamten Schritt zu beschreiben das Problem zu lösen.
Zum Beispiel besteht die prozessorientierte Designidee beim Backgammon darin, zunächst die Schritte des Problems zu analysieren: 1. Starten Sie das Spiel, 2. Der schwarze Stein bewegt sich zuerst, 3. Zeichnen Sie das Bild, 4. Beurteilen Sie den Gewinner oder verlieren, 5. Weiß ist an der Reihe, 6. Zeichnen Sie das Bild, 7. Bestimmen Sie Sieg oder Niederlage, 8. Zurück zu Schritt 2, 9. Geben Sie das Endergebnis aus. Implementieren Sie jeden der oben genannten Schritte mit separaten Funktionen und das Problem wird gelöst.
Objektorientiertes Design löst Probleme aus einer anderen Perspektive. Das gesamte Backgammon kann in 1. die schwarze und die weiße Seite unterteilt werden, deren Verhalten genau gleich ist; 2. das Schachbrettsystem, das für das Zeichnen des Bildes verantwortlich ist; 3. das Regelsystem, das für die Bestimmung von Fouls und Gewinnen verantwortlich ist; und verlieren usw. Der erste Objekttyp (Spielerobjekt) ist dafür verantwortlich, Benutzereingaben zu akzeptieren und den zweiten Objekttyp (Schachbrettobjekt) über die Änderungen im Schachfigurenlayout zu informieren Verantwortlich dafür, diese Änderung auf dem Bildschirm anzuzeigen und gleichzeitig zu verwenden. Der dritte Objekttyp (Regelsystem) wird zur Beurteilung des Schachspiels verwendet.
Es ist deutlich zu erkennen, dass objektorientiert Probleme nach Funktionen und nicht nach Schritten unterteilt. Es handelt sich auch um das Zeichnen eines Schachspiels, das sich im prozessorientierten Design auf mehrere Schritte verteilt, und es ist wahrscheinlich, dass unterschiedliche Zeichnungsversionen auftreten, da Designer in der Regel verschiedene Vereinfachungen unter Berücksichtigung der tatsächlichen Situation vornehmen. Beim objektorientierten Design kann die Zeichnung nur im Schachbrettobjekt erscheinen, wodurch die Einheit der Zeichnung sichergestellt wird.
Die Vereinheitlichung der Funktionen gewährleistet die Skalierbarkeit des objektorientierten Designs. Wenn ich beispielsweise die Funktion zum Bedauern von Schach hinzufügen möchte, wenn ich das prozessorientierte Design ändern möchte, muss die Abfolge der Schritte von der Eingabe über die Beurteilung bis zur Anzeige geändert werden, und sogar die Reihenfolge zwischen den Schritten muss angepasst werden einen großen Maßstab. Wenn es objektorientiert ist, müssen Sie nur das Schachbrettobjekt ändern und die Schachaufzeichnungen der schwarzen und weißen Seite einfach zurückverfolgen Dabei bleibt die gesamte Aufrufreihenfolge der Objektfunktionen unverändert. Die Änderungen sind nur teilweise.
Als weiteres Beispiel möchte ich dieses Backgammon-Spiel in ein Go-Spiel umwandeln. Wenn Sie prozessorientiert entwerfen, sind die Backgammon-Regeln in jeder Ecke Ihres Programms verteilt schreibe es um. Aber wenn Sie von Anfang an ein objektorientiertes Design hatten, müssen Sie nur die Regelobjekte ändern. Ist der Unterschied zwischen Backgammon und Go nicht die Regeln? (Natürlich scheint die Größe des Schachbretts unterschiedlich zu sein, aber halten Sie das für ein Problem? Nehmen Sie einfach ein paar kleine Änderungen am Schachbrettobjekt vor.) Die allgemeinen Schritte des Schachspiels haben sich gegenüber einem objektorientierten Schachspiel überhaupt nicht geändert Perspektive.
Um die Änderungen nur teilweise vorzunehmen, muss der Designer natürlich über genügend Erfahrung verfügen. Die Verwendung von Objekten garantiert nicht, dass Ihr Programm objektorientiert ist Tatsächlich ist es für ein auf diese Weise konzipiertes sogenanntes objektorientiertes Programm schwierig, eine gute Portabilität und Skalierbarkeit zu erreichen.
(Das ist die Antwort, die ich auf Baidu gefunden habe! Ich habe sie nicht selbst geschrieben. Vielen Dank an den Mann, der die Frage beantwortet hat!!!)
-
Für grundlegende Konzepte von Objekten
1. Objekt
Wissenschaftliche Erklärung: Das Objekt in der objektorientierten Methode ist eine Entität, die zur Beschreibung objektiver Fakten im System verwendet wird. Es ist eine Grundeinheit, die zur Bildung des Systems verwendet wird. Ein Objekt besteht aus einer Reihe von Eigenschaften und einer Reihe von Verhaltensweisen.
Selbsterklärung: „Menschen“ ist zum Beispiel ein sehr großes Konzept, aber wenn es um Sie selbst geht, sind Sie derjenige mit Entität und spezifischer Bedeutung Ich hoffe, Sie können den Unterricht besser verstehen. Schließlich ist mein Chinesisch nicht gut. . .
2. Klasse
Fasst viele Dinge zusammen und unterteilt sie in einige Kategorien. Das Prinzip der Klassifizierung ist die Abstraktion, das heißt, die nicht wesentlichen Merkmale der Dinge werden ignoriert und nur auf die wesentlichen Merkmale geachtet, die sich auf das aktuelle Ziel beziehen Unter Gemeinsamkeit versteht man die Einteilung von Dingen mit gemeinsamen Eigenschaften in eine Kategorie, um ein abstraktes Konzept abzuleiten, z. B. Steine, Bäume, Autos, Häuser usw.
3. Kapselung
Kapselung ist ein wichtiges Prinzip der objektorientierten Methode, das darin besteht, die Eigenschaften und Dienste des Objekts in einer unabhängigen Systemeinheit zusammenzufassen und die internen Details des Objekts so weit wie möglich zu verbergen.
4. Erben
Vererbung ist einer der wichtigen Gründe, warum objektorientierte Technologie die Effizienz der Softwareentwicklung verbessern kann. Ihre Definition lautet: Objekte einer speziellen Klasse verfügen über alle Eigenschaften und Dienste ihrer allgemeinen Klasse, die als Vererbung bezeichnet wird allgemeine Klasse durch eine spezielle Klasse.
Nachdem wir beispielsweise die Eigenschaften eines Schiffes verstanden haben, wissen wir bei der Betrachtung eines Passagierschiffs, dass ein Passagierschiff auch ein Schiff ist, sodass wir denken können, dass es alle Eigenschaften eines Schiffes aufweist. Wir müssen uns also nur auf die einzigartigen Merkmale eines Passagierschiffs konzentrieren.
5. Polymorphismus
Polymorphismus bezieht sich auf die in einer allgemeinen Klasse definierten Attribute oder Verhaltensweisen. Nach der Vererbung durch eine spezielle Klasse kann sie unterschiedliche Daten und Typen haben oder unterschiedliche Verhaltensweisen zeigen. (Dies wird später anhand konkreter Beispiele erläutert!)
-
Vollständiger Programmablauf
Verwandte Empfehlungen:
Zusammenfassung des konzeptionellen Systems im C#-C#.Net-Tutorial
Das obige ist der detaillierte Inhalt vonC++-Zusammenfassung: Grundkonzepte der Objektorientierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Nutzungsmethoden von Symbolen in der C-Sprachabdeckung Arithmetik, Zuordnung, Bedingungen, Logik, Bitoperatoren usw. werden für grundlegende mathematische Operationen verwendet, Zuordnungsoperatoren werden zur Zuordnung und Addition verwendet, Subtraktion, Multiplikationszuordnung und Abteilungszuweisung, Zustandsbetreiber werden für Unterschiede verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Logische Operationen werden verwendet. Zeiger, Markierungen am Ende der Datei und nicht numerische Werte.

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Das Char -Array speichert Zeichensequenzen in der C -Sprache und wird als char Array_name [Größe] deklariert. Das Zugriffselement wird durch den Einweisoperator weitergeleitet, und das Element endet mit dem Null -Terminator '\ 0', der den Endpunkt der Zeichenfolge darstellt. Die C -Sprache bietet eine Vielzahl von String -Manipulationsfunktionen wie Strlen (), Strcpy (), Strcat () und strcmp ().

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

In der C -Sprache werden Sonderzeichen durch Escape -Sequenzen verarbeitet, wie z. B.: \ n repräsentiert Linienbrüche. \ t bedeutet tab charakter. Verwenden Sie Escape -Sequenzen oder Zeichenkonstanten, um Sonderzeichen darzustellen, wie z. B. char c = '\ n'. Beachten Sie, dass der Backslash zweimal entkommen muss. Verschiedene Plattformen und Compiler haben möglicherweise unterschiedliche Fluchtsequenzen. Bitte wenden Sie sich an die Dokumentation.

In der C -Sprache kann die char -Typ -Konvertierung direkt in einen anderen Typ konvertiert werden, wenn: Casting: Verwenden von Casting -Zeichen. Automatische Konvertierung des Typs: Wenn ein Datentyp einen anderen Werttyp berücksichtigen kann, wandelt der Compiler diese automatisch um.

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.
