14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann 18. 7. 2000.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmiersprache C/C++
Advertisements

Blue J.
Imperative Programmierung
Imperative Programmierung
1 Funktionstemplates Einbinden von Templates: –Eine *.o Datei, die durch Übersetzen einer Datei nur mit Templates erzeugt wurde, enthält keinen Programmcode.
Objektorientierte Programmierung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
Konzepte objektorientierter Systeme
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Objektorientierte Programmierung Definition von Klassen
der Universität Oldenburg
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Einführung Blue J.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
ARRAY oder FELD oder VEKTOR
Konstruktoren.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 10 Claudio Moraga; Gisbert Dittrich FBI Unido
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Abstrakter Datentyp in C++ I - Klasse -
Objektorientierte Programmierung
Der C-Präprozessor EDV1 - 04Präprozessor.
EDV1 - Komplexe Datentypen
Einführung in Visual C++
Der C-Präprozessor 08-CPräprozessor.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 4
Informatik 1 Letzte Übung.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Programmierung 1. Einführung Seite 1
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Java Programmierung.
Prof. Dr.-Ing. Franz-Josef Behr
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
2 Datenabstraktion Geheimnisprinzip:
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Tutorium Software-Engineering SS14 Florian Manghofer.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Implementieren von Klassen
 Präsentation transkript:

14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann

14StrukturKlasse2 Die Struktur von C Die Struktur umfasst immer nur einen Ausschnitt. Nur das, was für die Bearbeitung einer Aufgabe wichtig ist, wird in die Struktur aufgenommen. Die Struktur reserviert keinen Speicherplatz (dient als Information für den Compiler)

14StrukturKlasse3 Beispiel für eine Struktur struct Artikel { char Bezeichnung[50]; char Artnummer[20]; float Preis; int LieferantenCode; }; Typendefinition mit Strukturen In C ist der Strukturname alleine noch keine Typenbezeichnung typedef struct Artikel artikel

14StrukturKlasse4 Auch diese Anweisung reserviert noch keinen Speicherplatz. Sie sagt dem Compiler, dass ab jetzt artikel ein Datentyp ist. Definition von strukturierten Variablen Da es sich um einen Datentyp handelt, können Variable nach den gleichen Spielregeln angelegt werden wie einfache Variablen auch z.B. artikel CD;

14StrukturKlasse5 Informationsdateien In einer Informationsdatei ist die Strukturdefinition, die Deklarationen der Operatorfunktion und etwaige Konstanten zusammen. Im Englischen heißen diese Dateien header files Der Anwender kann diese Informationsdatei mit Hilfe der Präprozessoranweisung #include während der Übersetzung seiner eigenen Datei mit einlesen.

14StrukturKlasse6 #include #ifndef RATIOHEADER #define RATIOHEADER struct RATIO { int z; int n; } typedef struct RATIO ratio; void rprint (ratio *zeiger); ratio raddiere (ratio *r1, ratio *r2); #endif

14StrukturKlasse7 Die Abfrage #ifndef (if not defined /falls nicht definiert) sucht nach dem Namen RATIOHEADER. Wird er nicht gefunden, wird der Rest der Datei bearbeitet. Wurde die Datei während einer Übersetzung bereits einmal eingelesen, dann ist der Name bekannt und der Präprozessor sucht nach dem Ende der Bedingung bei #endif

14StrukturKlasse8 Probleme bei C Der Compiler kann den privaten Typ nicht vollständig überprüfen Ordnung und korrekter Aufbau der header- Dateien bleiben dem Programmierer Überlassen. Weiter kann man mit den Strukturen in C keine wirklichen Datentypen definieren.

14StrukturKlasse9 Die Klasse in C++ class artikel { private: float Preis; char Bezeichnung[40]; char EAN[20]; public: float GibPreis (); void SetzeEan (char *code); };

14StrukturKlasse10 Die Klasse beinhaltet: 1. Die Typdefinition 2. die Deklaration der Datenelemente 3. Die Deklaration der zugelassenen Operationen

14StrukturKlasse11 OOP Objekt - orientierte Programmierung Die Elemente einer Klasse können nun Daten - oder Funktionsdeklarationen sein. Die zu einem Datenelement gehörende Funktion nennt man nun Methoden.

14StrukturKlasse12 #include #ifndef RATIOHEADER #define RATIOHEADER class ratio { private: int z; int n; public: void print (); ratio addiere (ratio *r2); }; #endif

14StrukturKlasse13 Benennung der Informationsdatei Der Name der Informationsdatei variiert bei verschiedenen Compilerherstellern. Am meisten verbreitet sind..hpp und schlicht.h

14StrukturKlasse14 Implementierung der Methoden Dem Namen der Methode muss man mit Hilfe des neuen Bereichsoperators den Namen der zugehörigen Klasse voranstellen. Die Zuordnung der Methode zu einer Klasse benutzt der Compiler zur Überprüfung

14StrukturKlasse15 #include ratio.hpp void ratio::print () { printf (%d / %d,z, n); } ratio ratio ::addiere (ratio *op2) } ratio erg; erg.z = z * op2 ->n + n * op2 ->z; erg.n = n * op2 ->n; return erg; }