10
Платформата Microsoft .NET и езикът на програмиране C#

NET/C#_10

Embed Size (px)

Citation preview

Page 1: NET/C#_10

Платформата Microsoft .NET иезикът на програмиране C#

Page 2: NET/C#_10

Интерфейси

Page 3: NET/C#_10

Интерфейси

Осигуряват съвместимост между различни класове Могат да съдържат методи, свойства, събития и

индексатори

Page 4: NET/C#_10

Интерфейси

interface IShowable {void show();

}

Page 5: NET/C#_10

Интерфейси

public class Person : IShowable {protected string name;protected int age;public Person(string name, int age) {

this.name = name;this.age = age;

}public void show() { Console.WriteLine(name + “ ” + age);

}}

Page 6: NET/C#_10

Интерфейси

public class Book : IShowable {protected string title;protected decimal price;public Book(String title, decimal price) {

this.title = title;this.price = price;

}public void show() { Console.WriteLine(title + “ ” + price);

}}

Page 7: NET/C#_10

Интерфейси - използване

IShowable p1 = new Person(“Jill”, 23);IShowable b1 = new Book(“Book Title”, 7);IShowable[] thingsToShow = {p1,b1};foreach(IShowable s in thingsToShow) s.show();

Page 8: NET/C#_10

Наследяване на интерфейси

interface IShowableAndDrawable : IShowable {void draw();

}

Page 9: NET/C#_10

Наследяване на интерфейси

public class Pixel : IShowableAndDrawable {protected int r, g, b;public Person(int r, int g, int b) {

this.r =r;this.g = g;this.b = b;

}public void show() { Console.WriteLine(r + “ ” + g + “ ” + b);

}public void draw() { Console.WriteLine(“drawing ” + r + “ ” + g + “ ” + b);

}}

Page 10: NET/C#_10

Структури