das nennt man Scope, solange du dich innerhalb von Geschweiften Klammern befindest, hast du einen geschlossenen Scope, darin sind alle Variablen die du anlegst quasi privat ​und außerhalb der geschweiften Klammer nicht zugänglich ....
Deshalb ist es auch ungemein Wichtig, dass du innerhalb eines Scopes (Methode oder Schleife) NIEMALS denselben Variablennamen wählst, wie er bereits außerhalb des Sceope bereits existiert. Du kannst innerhalb eines Scopes auf Variablen im Darüberliegenden Scope zugreifen und das ist dann zum einen unleserlich und zum anderen unsicher, weil du nicht exakt vorhersagen kannst WELCHE Variable du manipulierst.
Und zu Klassen und Instanzen, gilt folgendes anschauliches Beispiel:
Eine Klasse ist eine Bauanleitung, die beschreibt was im Bezug auf einen bestimmten Bezugspunkt (der Pointer beim new) wo an welcher Stelle liegt. Wenn ich also 2 mal new mache, habe ich 2 Instanzen an unterschiedlichen Stellen im Speicher. Wenn ich also jetzt auto1->reifendruck(); aufrufe, rufe ich die methode im Objekt auto1 auf und auto2 bleibt in seinem eigenen Speicherbereich davon unberührt.
Lesezeichen