C++ und Klassen

OP #6598328
Lesenswert?

Hallo,

beschäftige mich auch gerade mit C++, habe aber massive Schwierigkeiten 
mit den "Klassen" gibt es vielleicht hier jemanden, welcher mir die 
Klasse auf simpelste erklären kann?
Mit den Anleitungen in Englisch komme ich nicht richtig in die Materie.

Freue mich qauf eure Antworten.
#6598625
Lesenswert?

Man hat einfach ein paar Daten und packt die Funktionen zur Verwaltung 
dieser Daten gleich mit dazu. Das ist alles.

Da kann man dann Zugriffsrechte festlegen (private/proteced/public) und 
man kann eine Klasse als Basis für eine andere Klasse nehmen (ableiten) 
und sie dann passend erweitern.
Gast #6599019
Lesenswert?

Früher gab es noch Bücher, die man sich einfach durchgelesen und die 
Beispiele nachprogrammiert hat. Ganze Generationen haben es so gelernt.
Und die gibt es sogar auf Deutsch.

https://www.amazon.de/Die-Programmiersprache-aktualisierte-Erfinder-Programmers/dp/3827330467/ref=sr_1_9?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3PL71NWUET93D&dchild=1&keywords=stroustrup+c%2B%2B&qid=1614146688&sprefix=Stoustrup%2Caps%2C175&sr=8-9
Gast #6605933
Lesenswert?

@Dave,

kannst du deine Probleme benennen?

Ich weiß noch über meine Verwirrung um den Zusammenhang von Klassen und 
Objekten. Geht es auch darum?

Ich finde meine Teig-Plätzchenform-Analogie ganz gut:
Denn ungefähr so stehen Klassen und Objekte zu einander - die Form ist 
die Klasse, das Plätzchen das Objekt, der Teig der RAM oder Flash.

Mit der Form/Klasse beschreibst du, wie das Plätchen/Objekt 
aussehen/können soll.
Durch Ausstechen aus dem Teig mit der Form entstehen greifbare 
Plätchen/Objekte.

Auch zum intuitiven Verständnis frage dich
- Was würdest du tun, wenn du viele gleiche Plätchen haben willst?
- Kannst du auf einer Form "arbeiten" (Zucker, Mandeln drauf streuen)
Gast #6606022
Lesenswert?

MiroWierdo schrieb:
> Ich finde meine Teig-Plätzchenform-Analogie ganz gut

Die Analogie finde ich auch recht gut :)
Ich überlege gerade, wie man damit noch eine Ableitung verdeutlichen 
könnte. Nicht, um die Analogie in Frage zu stellen, sondern um diesen 
Vergleich auch dafür verwenden zu können.
Gast #6606054
Lesenswert?

>Ich überlege gerade, wie man damit noch eine Ableitung verdeutlichen
>könnte. Nicht, um die Analogie in Frage zu stellen, sondern um diesen
>Vergleich auch dafür verwenden zu können.

Die Ableitung könnte man mit Schokostreuseln, Zuckerguss usw. auf dem 
"Basis-Plätzchen" erklären.
#6606057
Lesenswert?

Bernd schrieb:
>>Ich überlege gerade, wie man damit noch eine Ableitung verdeutlichen
>>könnte. Nicht, um die Analogie in Frage zu stellen, sondern um diesen
>>Vergleich auch dafür verwenden zu können.
>
> Die Ableitung könnte man mit Schokostreuseln, Zuckerguss usw. auf dem
> "Basis-Plätzchen" erklären.

Fragt sich halt ob man gerne Pädagogik für Zurückgebliebene betreiben 
will. Für Stefan wissen wir schon dass die Antwort "JA" lautet.
Gast #6606212
Lesenswert?

Die Frage stellt sich mir nicht, weil es auch nicht schlimm wäre wenn es 
so wäre.
Ich finde es immer sehr geil wie schnell hier geurteilt wird und ein 
"nicht wissen" direkt mit zurückgeblieben gleichgesetzt wird.
Frage mich dann immer ob es bei Leuten die sowas schreiben überhaupt 
etwas gibt was sie nicht wissen.

Ich finde solche Vergleiche mit Plätzchen und Co ziemlich gut damit sich 
Anfänger, Schüler usw. möglichst schnell Fortschritte machen und es 
möglichst schnell verstehen. Tiefer in die Materie einsteigen machen sie 
dann von ganz alleine, falls sie es weiter verfolgen.
#6606262
Lesenswert?

Bernd schrieb:
>>Ich überlege gerade, wie man damit noch eine Ableitung verdeutlichen
>>könnte. Nicht, um die Analogie in Frage zu stellen, sondern um diesen
>>Vergleich auch dafür verwenden zu können.
>
> Die Ableitung könnte man mit Schokostreuseln, Zuckerguss usw. auf dem
> "Basis-Plätzchen" erklären.

Damit kann man Komposition erklären, aber Ableitung? Ein Plätzchen kann 
einen Zuckerguss haben, aber es ist nicht einer.
Gast #6606275
Lesenswert?

Bernd schrieb:
> Ich finde solche Vergleiche mit Plätzchen und Co ziemlich gut damit sich
> Anfänger, Schüler usw. möglichst schnell Fortschritte machen und es
> möglichst schnell verstehen. Tiefer in die Materie einsteigen machen sie
> dann von ganz alleine, falls sie es weiter verfolgen.

Gibt es einen Grund, zu glauben, dass schlechte Beispiele und Analogien 
Anfängern beim lernen helfen? Mich haben schlechte Beispiele immer beim 
Lernen aufgehalten. Steckt den Aufwand lieber in ein gutes Beispiel von 
Problem und Lösung. Welches Problem löst der Teig und die Plätzchenform 
in meiner Software? Muss ich meine SPI-Treiber Klasse bei 200°C 
Oberhitze oder 180°C Umluft backen, um ein nutzbares Objekt zu erhalten?
Beitrag #6606396 wurde von einem Moderator gelöscht.
#6608239
Lesenswert?

Dave S. schrieb:
> beschäftige mich auch gerade mit C++, habe aber massive Schwierigkeiten
> mit den "Klassen" gibt es vielleicht hier jemanden, welcher mir die
> Klasse auf simpelste erklären kann?
> Mit den Anleitungen in Englisch komme ich nicht richtig in die Materie.

In [1] ging es zwar primär um Python, aber ich denke, der Beitrag 
erklärt ganz gut, wozu diese Klassendingsis gut sind.

[1] Beitrag "Re: Python: Problem mit Objekt-Variable"
Gast #6615028
Lesenswert?

Eine ganz gute Hilfe sind u.a. der UML-Wikipedia-Artikel (merken im 
Sinne von behalten um was es geht) im Verbund mit den 
Programmierbeispielen aus Accelerated C++ -
Alles auf einmal ist ja auch ein bisschen viel.
In dem Java-Buch: Objektorientierte Programmierung in Java von Alexander 
Niemann sind die UML-Sachen auch ganz gut erklärt - auf so 75 Seiten - 
also von der Memorierfähigkeit her nicht mal so gerade eben ;)
Gast #6615352
Lesenswert?

Dave S. schrieb:
> Mit den Anleitungen in Englisch komme ich nicht richtig in die Materie.

Versuche mal dieses Buch http://www.cppbuch.de/

Gibts auch etwas preiswerter in der C++17 Version
https://www.terrashop.de/Buch/Der-C-Programmierer-Ulrich-Breymann-ISBN-3446448845/art/44644884/

------------------

Dave S. schrieb:
> beschäftige mich auch gerade mit C++, habe aber massive Schwierigkeiten
> mit den "Klassen" gibt es vielleicht hier jemanden, welcher mir die
> Klasse auf simpelste erklären kann?

C++ ist auch "nur" eine Sprache.
Es hat nur wenige Schlüsselworte, also recht leicht auswendig zu lernen!
Reine Fleißarbeit.

OOP, ist dagegen eine andere Art zu denken.
Die Prozeduraldenke steht der OOPdenke im Wege rum.
Diese beiden Paradigmen sind beileibe nicht die einzigen, welche mit/in 
C++ umsetzbar sind.


Die (Lern)Arbeit ist also nicht die Sprache selber, sie ist nur 
Werkzeug.
Es ist die Denke, welche die Positionen und ihre Richtung mehrfach 
ändern können muss.


> Vergleiche
Ein Vergleich passt nie!
Sonst wäre es ja kein Vergleich, sondern eine Beschreibung, o.ä.
Ein Vergleich darf/muss hinken.


> Klasse auf simpelste erklären kann?
Die naive Beschreibung:
Eigentlich ist es nur die Verheiratung von Code und Daten zu einer 
Einheit.
Frei nach dem Mantra:
> Fasse zusammen, was zusammen gehört!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren