Infos Zu Objektorientierung In C++
#1
geschrieben 15. April 2007 - 13:10
ich habe eine Frage zu Objektorientiertem Programmieren. Also mit Klassen und Objekten.
Wie kann man die 3 Sachen erklären? Oder was soll man sich darunter vorstellen?
Ich habe mir schon etwas darüber an Infos rausgesucht, aber das ist alles etwas kompliziert erklärt. Finde ich zumindest. Da ich keine Ahnung habe von Proggen.
Wäre nett, wenn mir das einer erklären könnte oder was dazu zu schreiben, was ich wissen sollte...
Gruß Crash
Acer 5740G
CPU: Intel Core i5 430M
Graka: ATI Mobility Radeon HD 5470
RAM: 4 Gbyte
HDD: 320Gbyte SATA
OS: Windows 7 Professional x64
Anzeige
#2 _MagicAndre1981_
geschrieben 15. April 2007 - 15:17
#3
geschrieben 15. April 2007 - 15:22
Zitat (crash1601: 15.04.2007, 14:10)
ich habe eine Frage zu Objektorientiertem Programmieren. Also mit Klassen und Objekten.
Wie kann man die 3 Sachen erklären? Oder was soll man sich darunter vorstellen?
Ich habe mir schon etwas darüber an Infos rausgesucht, aber das ist alles etwas kompliziert erklärt. Finde ich zumindest. Da ich keine Ahnung habe von Proggen.
Wäre nett, wenn mir das einer erklären könnte oder was dazu zu schreiben, was ich wissen sollte...
Gruß Crash
ehrlich gesagt befürchte ich inzwischen, dass das nur ein erfundenes wort ist ohne nähere bedeutung. hauptsache es klingt toll. ich hab zumindest noch keine erklärung gefunden, die mir vernünftig erklärt hätte, was es bedeutet. das gesülze, was ein programmierer von sich gibt, wenn er versucht zu erklären, was das ist, ist dabei noch schlimmer. wahrscheinlich erklären die das und wenn man weg ist unterhalten die sich untereinander "weißte, was ich dem für einen mist erzählt hab?" und dann lachen die sich über die verarsche ins fäustchen.
man siehts ja auch an den wikipediaerklärungen oben. man kann sie lesen aber was erfährt man wirklich? nix, was einem die grundsätzliche frage nach der bedeutung beantworten würde.
Dieser Beitrag wurde von Gitarremann bearbeitet: 15. April 2007 - 15:31
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
#4
geschrieben 15. April 2007 - 15:37
mein lehrer hat mir meine frage beantwortet und ich war danach genauso schlau wie vorher.
Acer 5740G
CPU: Intel Core i5 430M
Graka: ATI Mobility Radeon HD 5470
RAM: 4 Gbyte
HDD: 320Gbyte SATA
OS: Windows 7 Professional x64
#5
geschrieben 16. April 2007 - 10:47
Eine Klasse ist eine Vorlage. Stell dir die Klasse z.B. als einen Bauplan für ein Auto vor.
Dann gibt es einen Konstruktor, welcher eine Instanz dieser Klasse erzeugt. Die Instanz ist dann ein Objekt.
Stell dir Roboter vor die das Auto nach dem Plan zusammenbauen. Das komplette Auto was nachher da ist, ist das Objekt.
Der Vorteil ist nun, du erstellst eine Klasse und kannst davon so viele Objekte haben wie du willst (oder der Arbeitsspeicher voll ist ;-).
In der Klasse kannst du Eigenschaften (Attribute) und Funktionen (Methoden) definieren, welche das Objekt dann haben soll.
Also ein Attribut bei einem Auto wäre z.B. die Anzahl Räder. Und eine Funktion wäre dann Fahren.
Hoffe du bist nun etwas schlauer...
#6
geschrieben 16. April 2007 - 10:50
Ja, Danke. Nun bin ich schlauer...
Gruß Crash
Acer 5740G
CPU: Intel Core i5 430M
Graka: ATI Mobility Radeon HD 5470
RAM: 4 Gbyte
HDD: 320Gbyte SATA
OS: Windows 7 Professional x64
#7
geschrieben 16. April 2007 - 12:12
Zitat (Nighthawk: 16.04.2007, 11:47)
Eine Klasse ist eine Vorlage. Stell dir die Klasse z.B. als einen Bauplan für ein Auto vor.
Dann gibt es einen Konstruktor, welcher eine Instanz dieser Klasse erzeugt. Die Instanz ist dann ein Objekt.
Stell dir Roboter vor die das Auto nach dem Plan zusammenbauen. Das komplette Auto was nachher da ist, ist das Objekt.
Der Vorteil ist nun, du erstellst eine Klasse und kannst davon so viele Objekte haben wie du willst (oder der Arbeitsspeicher voll ist ;-).
In der Klasse kannst du Eigenschaften (Attribute) und Funktionen (Methoden) definieren, welche das Objekt dann haben soll.
Also ein Attribut bei einem Auto wäre z.B. die Anzahl Räder. Und eine Funktion wäre dann Fahren.
Hoffe du bist nun etwas schlauer...
jo sowas steht in meinem c++ buch auch drin aber verstanden hab ich das trotzdem nicht. ich habs dann aufgegeben. das ist wohl nix für mich. anfangs hatte ich noch hoffnung, weil die synthax ja mit php ziemlich identisch ist aber dann wurde mir das doch zu unübersichtlich.
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
#8
geschrieben 16. April 2007 - 15:24
Klasse:
=> Grob Ansammlung von Methoden und Atributen die zur erstellung von Objekten benötigt werden.
Objekt:
=> Konkreter Anwendungsfall einer Klasse. Man kann auch sagen, dass Objekte Kontainer sind, die mit den
angewendeten Informationen der Klasse aus der diese Generiert wurden gefüllt werden
Objektorientiert:
=> Anwendungsfall Orientiert, Programme die in "häppchen" geteilt werden
kritik/verbesserung/ergenzung wilkommen
MFG
Stefan
#9
geschrieben 16. April 2007 - 15:34
Zitat
Da fand ich Nighthawks Ausführungen um einiges besser.
Klasse: Bauplan (Auto) mit Eigenschaften (Farbe) und Methoden (fahren)
Objekt: Eine konkretes Ding (Instanz), dass an Hand des Bauplans erstellt wurde (meinAuto), dessen Eigenschaften man abfragen (meinAuto->welche_farbe_hast_du) und bedienen kann (meinAuto->fahren).
Zitat
btw...diesen Satz habe noch nicht mal ich verstanden
#10
geschrieben 16. April 2007 - 15:42
Zitat (Witi: 16.04.2007, 16:34)
btw...diesen Satz habe noch nicht mal ich verstanden
so gehts mir bei fast allen sätzen.
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
#11
geschrieben 16. April 2007 - 17:11
Zitat (Witi: 16.04.2007, 16:34)
OK da hab ich mich ein wenig verhaspelt^^
Objekte:
Konkrete Anwendungsfälle von Klassen, welche auf dessen (der Klasse mit der das Objekt erstellt wurde) Methoden und Atribute zurückgreift.
Objekte bekommen beim Erzeugen zudem meist konkrete Werte Mitgelievert sofern es die Klasse (welche verwendet wird) erforderlich macht.
Ein Objekt der Klasse "Auto" könnte zb. in Java wie folgt aussehen
Auto audi = new auto();
hier werden noch keine Werte mitgelievert. Es wird somit ein leeres "Gerüst" erstellt
dieses kann man dann im weiteren Programmverlauf mit Werten füllen
audi.setFarbe("weiß");
hier haben wir dem bereits erzeugten Objekt "audi" welches der Klasse "Auto" entsprungen ist mithilfe einer Methode die in der Klasse "Auto" deklariert werden muss die Farbe "weiß" hinzugefügt.
EDIT:
@Gitarre: tröste dich: unser Cheff hat 4 Jahre studiert und verdreht immernoch leicht was in sachen OOA OOD OOP
Dieser Beitrag wurde von Stefan_der_held bearbeitet: 16. April 2007 - 17:12
#12
geschrieben 16. April 2007 - 17:59