Professional Documents
Culture Documents
программирование
основы
парадигмы
структурное программирование
инвариант данных
концепции ООП
инкапсуляция
struct point
{
int x;
int y;
};
}
}
.
.
.
концепции ООП
сокрытие
}
.
.
.
.
.
.
=
>
.
.
.
концепции ООП
композиция
агрегация ассоциация
public class Point public class RubicsCube
{ {
public Point(int x, int y) private readonly Face[] _faces;
{
X = x; public RubicsCube()
Y = y; {
} _faces = Enumerable
.Range(0, 6)
.Select(i new Face(StickersFor(i)))
} .ToArray();
}
абстракция
отделение абстракции от реализации,
позволяющее пользователю прозрачно
использовать различные реализации поведений
полиморфизм подтипов
концепции ООП
полиморфизм
реализация
абстракция
объект
наследование
best practices public enum Suit
public class Card
{
{
public Card(Suit suit, CardValue value) { }
Hearts,
применение наследования Diamonds,
public Suit Suit { get; }
Clubs,
для переиспользования Spades,
public CardValue Value { get; }
данных }
}
public enum CardValue
public class Deck
{
{
Six,
public Deck(IReadOnlyCollection<Card> cards) { }
Seven,
ПЛОХО Eight,
Nine,
Ten,
public IReadOnlyCollection<Card> Cards { get; }