static void Main(string[] args) { //Analog zu C++ erstellt man in C# neue Objekte über new () --> wobei hier Speicher alloziiert wird und sofort der Konstruktor aufgerufen wird //Es gibt immer mind. einen Konstruktor - wenn wir keinen angeben, wird automatisch ein leerer Standardkonstruktor erstellt Kunde neuerKunde = new Kunde("Hans Mustermann"); Console.Write("Der Name des Kunden: "); //Verwenden eines Getters im C++ Stils - wie eine Funktion Console.WriteLine(neuerKunde.GetName()); Console.Write("Der Name des Kunden: "); //Verwenden eines Getters im C# Stil (Eigenschaft) - wie eine Variable Console.WriteLine(neuerKunde.Name); //Was passiert wenn wir WriteLine() direkt das Objekt geben, d.h. keinen String? Console.WriteLine(neuerKunde); //WriteLine() ist überladen mit einer Übergabe von Object - dabei wird einfach die ToString() Methode aufgerufen => Nutzen OOP BadRecycling(); Console.WriteLine("Jetzt wurde die Methode BadRecycling verlassen..."); GoodRecycling(); Console.WriteLine("Jetzt wurde die Methode GoodRecycling verlassen..."); Console.WriteLine("Bis jetzt wurde FalseRecycling immer noch nicht gelöscht!"); }
static void Main(string[] args) { Kunde instanz = new Kunde(); Benchmark(Interface, instanz); Benchmark(Reflection, instanz, "Reflection"); //Nur zur Kontrolle - auf beiden Konten sollte der selbe Betrag sein Console.WriteLine("Geld auf dem Konto Interface am Ende: {0}", instanz.GetMoney("Interface")); Console.WriteLine("Geld auf dem Konto Reflection am Ende: {0}", instanz.GetMoney("Reflection")); }