Nein. Jedes Objekt hat seine eigene Identität, also gibt es keine Verwirrung zu welchem Objekt welche Variablen gehören. Der Konstruktor eines jeden Objekts gibt deren Variablen den richtigen Wert.
import java.util.Scanner;
class Auto
{
. . . .
}
class MeilenProGallone
{
public static void main( String[] args )
{
Auto auto = new Auto( 300, 400, 2.5 );
System.out.println(
"Meilen pro Gallone von Auto 1 sind: "
+ auto.berechneMPG() );
auto = new Auto( 1500, 1800, 7.5 );
System.out.println(
"Meilen pro Gallone von Auto 2 sind: "
+ auto.berechneMPG() );
}
}
Wenn das verwirrend ist, dann denkt daran, dass objektorientierte Programmierung die reale Welt nachbilden soll.
Denken wir an Objekte der realen Welt, sagen wir Objekte der Klasse Mensch.
Jedes Objekt hat seine eigene Identität (z.B. ist Bob ein anderes Individuum als Jill),
obwohl jedes Teile hat, die den gleichen Namen haben.
Es ist nicht verwirrend von "Bills Herz" und "Bills Nase", und "Jills Herz"
und "Jills Nase" zu sprechen.
Mit "Punktnotation" wäre das Bob.herz, Bob.nase, Jill.herz
und
Jill.nase
.
Unten ist eine leicht abgeänderte Version des Programms.
Worin unterscheidet sich dieses Programm vom vorherigen Programm?