Archive

Posts Tagged ‘interface’

[C#] Interfejsy – z czym to się je?

25 listopada 2011 6 komentarzy

Podstawy

Jak najszybciej/najprościej wytłumaczyć czym jest interfejs? Interfejs, to taka jakby klasa, która deklaruje swoje składowe (głównie metody), ale ich nie implementuje, tzn. interfejs zawiera nazwę metody, ale nie posiada jej ciała z kodem. Nie można utworzyć obiektu, który będzie instancją jakiegoś interfejsu, ale interfejs może być zaimplementowany przez klasę. Jeśli klasa implementuje interfejs to znaczy, że zapewnia implementację wszystkich członków interfejsu, tzn. interfejs mówi klasie, że klasa musi posiadać określone metody, właściwości itd. Interfejs informuje jakich zachowań (implementacji jakich metod) będziemy oczekiwać od klasy. Klasa może implementować wiele interfejsów naraz. Koniec bełkotu, przejdźmy do przykładu 🙂

using System;

namespace InterfaceTest
{
	interface IKucharz
	{
		void Gotowanie();
	}

	class TypOsoby1:IKucharz
	{
		int Id {get;set;}
		string Imie {get;set;}

		public TypOsoby1(int id, string imie)
		{
			this.Id=id;
			this.Imie=imie;
		}

		public void Gotowanie()
		{
			Console.WriteLine (this.ToString()+" gotuje...");
		}

		public override string ToString()
		{
			return string.Format ("{1}",this.Id,this.Imie);
		}
	}

	class MainClass
	{
		public static void Main (string[] args)
		{
			TypOsoby1 adam = new TypOsoby1(1,"Adam");
			adam.Gotowanie();
		}
	}
}

Czytaj dalej…

Kategorie:Przykłady Tagi: , ,