Hallo liebe Community!,
Wie schon der Titel sagt hab ich nicht richitig die Funktionsweise von Interface. Nehmen wir mal ein Beispiel. Bei der Abstrakten Klasse kann ich z.B einen String(oder auch einen anderen Datentyp) erstellen. Wenn ich nun eine zweite Klasse erstelle und daran die Abstrakte Klasse dranhänge werden die Elemente von der Abstraken Klasse in der neuen Unterklasse übernommen. So kann man das als Herarchie verstehen.
Wie ist das jetzt bei Interface? Werden da auch Werte festgelegt und dann von den Unterklassen übernommen?
Wie kann ich das genau verstehen? Gib es anschauliche Bilder wo man es erläutern kann? Eine Art Zeichnung?
Hier mal ein Beispiel:
Alles anzeigen
MfG
Daniel
Wie schon der Titel sagt hab ich nicht richitig die Funktionsweise von Interface. Nehmen wir mal ein Beispiel. Bei der Abstrakten Klasse kann ich z.B einen String(oder auch einen anderen Datentyp) erstellen. Wenn ich nun eine zweite Klasse erstelle und daran die Abstrakte Klasse dranhänge werden die Elemente von der Abstraken Klasse in der neuen Unterklasse übernommen. So kann man das als Herarchie verstehen.
Wie ist das jetzt bei Interface? Werden da auch Werte festgelegt und dann von den Unterklassen übernommen?
Wie kann ich das genau verstehen? Gib es anschauliche Bilder wo man es erläutern kann? Eine Art Zeichnung?
Hier mal ein Beispiel:
Quellcode
- // Code kopiert von => http://msdn2.microsoft.com/de-de/library/87d83y5b(VS.80).aspx
- // keyword_interface_2.cs
- // Interface implementation
- using System;
- interface IPoint
- {
- // Property signatures:
- int x
- {
- get;
- set;
- }
- int y
- {
- get;
- set;
- }
- }
- class Point : IPoint
- {
- // Fields:
- private int _x;
- private int _y;
- // Constructor:
- public Point(int x, int y)
- {
- _x = x;
- _y = y;
- }
- // Property implementation:
- public int x
- {
- get
- {
- return _x;
- }
- set
- {
- _x = value;
- }
- }
- public int y
- {
- get
- {
- return _y;
- }
- set
- {
- _y = value;
- }
- }
- }
- class MainClass
- {
- static void PrintPoint(IPoint p)
- {
- Console.WriteLine("x={0}, y={1}", p.x, p.y);
- }
- static void Main()
- {
- Point p = new Point(2, 3);
- Console.Write("My Point: ");
- PrintPoint(p);
- }
- }
MfG
Daniel
