Und das man auch mit C objektorientiert programmieren kann.
Es sei auch noch erwähnt das c# eine Recht neue Sprache ist und nur unter Windows funktioniert. Wer allerdings schnell ne gui programmieren will hat damit große Vorteile
Und das man auch mit C objektorientiert programmieren kann.
Was heißt objektorientiert?
Mit C kann sicher nicht objektorientiert programmiert werden.
Der Unterschied von C zu C++ war doch haupsächlich die Einführung der objektorientierung, dass heißt es gibt Klassen.
In C gibt es zwar structs die sollten aber nicht mit class verwechselt werden
Danke. ich hab mittlerweile alles kapiert.
Hallo Superhirn,
ich bin mit C und den nachfolgenden Varianten groß geworden.
Ich will hier einfach mal den Unterschied von C und C++ an einem anschaulichen Beispiel verdeutlichen,- mit den Begriffen prozedurale bzw. objektorientierte Programmierung können ja einige nichts anfangen.
Also:
nehmen wir einmal an, wir wollen ein Haus bauen. Wenn wir dies mit der Programmiersprache C (der prozeduralen bzw. funktionalen Programmierung) verwirklichen wollten, sähen die einzelnen Schritte, die die Prozeduren darstellen, folgendermaßen aus:
1.) Grube ausheben
2.) Keller aufmauern
3.) Hausrohbau erstellen
4.) Dachstuhl errichten und decken
5.) Innenausbau
6.) usw.
Bei der Programmiersprache C++ (der objektorientierten Sprache) würde uns diese Struktur nicht mehr interessieren und wir könnten folgendes programmieren:
1.) das Haus besteht aus. Keller, Erdgeschoß, erstes Obergeschoß, Dachboden, Dach
2.) der Keller besteht aus: Betonboden, Wand und Fenster
3.) fertig
Wie Du siehst, geht man bei C von einer genauen Beschreibung und bei C++ von den Beziehungen der einzelnen Elemente zueinander aus.
Grüße David
Tue Recht und scheue niemanden \/
Danke,
Gutes beispiel. jetzt kapier ichs mit dem objektorientiert auch mal, denn ich konnte mir noch keinen vorteil ausdenken.
Grüße
Thomas
Warum gibt es nicht _1_ Automarke?Zitat von Superhirn
Warum gibt es nicht _1_ Bananensorte?
Warum gibt es nicht _1_ µC für alles?
Warum gibt es nicht _1_ Internet?
Disclaimer: none. Sue me.
Da die Leute die Automarken, bananen,.... verkaufen damit viel geld machen. Und C kostet ja nix. Also könnte man ja sicher eine standartprogsprache für alle entwickeln. Es gibt ja soooo viele programmiersprachen auf dieser welt, oder?
Hi,Zitat von Superhirn
es gibt 500-Seiten-Bücher, die diese Frage zu beantworten versuchen. Ich versuch es jetzt mal vereinfacht in ein paar Sätzen
Dazu vielleicht erstmal, was nicht objektorientiert ist:
Bei nicht objektorientierten (sprich: prozeduralem) Programmieren hast Du im
wesentlichen zwei Dinge: Daten und Funktionen
Die Funktionen rufen sich gegenseitig auf und übergeben sich dabei Daten.
Daneben gibt es noch globale Variablen, auf die immer zugegriffen werden darf.
Einfach gesagt: die Variable weiß was, die Funktion kann was
Das gibt vor allem bei großen Projekten ein Problem: Wie komme ich in dem Wald von tausenden Funktionen noch zurecht? und Welche Daten oder Teile einer Datenstruktur darf ich zwischen zwei Funktionsaufrufen ändern und welche sollten nur durch spezielle Funktionen geändert werden? oder auch Mit welchen Funktionen kann ich welche Datenstrukturen bearbeiten?
Die Lösung dafür ist objektorientiertes Programmieren:
Zusammengehörige Funktionen werden mit den Daten, die sie haben müssen,
zu einer Klasse zusammengefasst. Eine Klasse ist also eine Datenstruktur und
zugleich die Funktionen, um mit ihr zu arbeiten.
So, wie man aus einer Struktur beliebig viele Variablen erzeugen kann, kann man
aus der Klasse Objekte erzeugen.
oder kurz: das Objekt weiß etwas (hochtrabend: "es hat einen internen Zustand") und es kann etwas
Lange Rede, kaum ein Sinn:
Für Mikrocontroller ist C die bessere Wahl (denn da hast Du nicht hunderte von
Funktionen). Und wenn Du dann doch C++ lernen willst, dann musst Du eh C als
Grundwissen können - insofern ist dann auch die Zeit für's Lernen nicht vergeudet.
Eintragen und Roboternetz-User in der Nähe finden: http://www.frappr.com/roboternetz
Lesezeichen