using System; class Vehicle { // Basis Klasse(parent class) public Vehicle() { // Standardkonstruktor Console.WriteLine("Base"); } public Vehicle(string col) { // Überladenen paramentrisierten Konstruktor Console.WriteLine("param Base"); color = col; } public Vehicle(string col, int zahl) { // Überladenen paramentrisierten Konstruktor Console.WriteLine("param Base"); color = col; } protected string color; // Vehicle Feldcolor public void honk() { // Vehicle Methode innerhalbder Klasse definiert Console.WriteLine("Tuut, tuut"); } public void drucke() { System.Console.WriteLine("Vehicle Color:" + color); this.honk(); // Aufruf einer Methode innerhalb des Objekts(this) } } class Car : Vehicle { // Abgeleitete Klasse (child) public Car() : base("Black", 2) { // Standard Konstructor und Aufruf des param. Basisklassenkonstruktors color = "red"; // Feld Initialisierung } public Car(string col) : base (col) { // Überladenen paramentrisierten Konstruktor und Aufruf des param. Basisklassenkonstruktors color = col; // Feld Initialisierung mit Paramater Console.WriteLine("Car"); } public new string color; // Feldern //public int _maxSpeed { get; set;}; // Auto (implementation) property private int _maxSpeed; public int MaxSpeed { get { return _maxSpeed; } } public new void drucke() { System.Console.WriteLine("Farbe: " + color); base.drucke(); base.honk(); // Aufruf einer Methode der Basisklasse } } public class Test { public static void Main() { Car myObj = new Car("blue"); // Objekt myObj instanziieren //myObj._maxSpeed = 100; //myObj.MaxSpeed = 200; System.Console.WriteLine("Farbe: " + myObj.color); System.Console.WriteLine("Max Speed: " + myObj.MaxSpeed); myObj.color = "red"; myObj.drucke(); } }