Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 114
- Предыдущая
- 114/642
- Следующая
Импортирование статических членов с применением ключевого слова using языка C#
В версии C# 6 появилась поддержка импортирования статических членов с помощью ключевого слова
using
WriteLine()
Console
Now
Today
DateTime
using
System
using static
// Импортировать статические члены классов Console и DateTime.
using static System.Console;
using static System.DateTime;
После такого "статического импортирования" в файле кода появляется возможность напрямую применять статические методы классов
Console
DateTime
TimeUtilClass
static class TimeUtilClass
{
public static void PrintTime()
=> WriteLine(Now.ToShortTimeString());
public static void PrintDate()
=> WriteLine(Today.ToShortDateString());
}
В более реалистичном примере упрощения кода за счет импортирования статических членов мог бы участвовать класс С#, интенсивно использующий класс
System.Math
using static
Math
Однако имейте в виду, что злоупотребление операторами статического импортирования может привести в результате к путанице. Во-первых, как быть, если метод
WriteLine()
WriteLine()
Console
using static
К настоящему моменту вы должны уметь определять простые типы классов, содержащие конструкторы, поля и разнообразные статические (и нестатические) члены. Обладая такими базовыми знаниями о конструкции классов, можно приступать к ознакомлению с тремя основными принципами объектно-ориентированного программирования (ООП).
Основные принципы объектно-ориентированного программирования
Все объектно-ориентированные языки (С#, Java, C++, Visual Basic и т.д.) должны поддерживать три основных принципа ООП.
• Инкапсуляция. Каким образом язык скрывает детали внутренней реализации объектов и предохраняет целостность данных?
• Наследование. Каким образом язык стимулирует многократное использование кода?
• Полиморфизм. Каким образом язык позволяет трактовать связанные объекты в сходной манере?
Прежде чем погрузиться в синтаксические детали каждого принципа, важно понять их базовые роли. Ниже предлагается обзор всех принципов, а в оставшейся части этой и в следующей главе приведены подробные сведения, связанные с ними.
Роль инкапсуляции
Первый основной принцип ООП называется инкапсуляцией. Такая характерная черта описывает способность языка скрывать излишние детали реализации от пользователя объекта. Например, предположим, что вы имеете дело с классом по имени
DatabaseReader
Open()
Close()
// Пусть этот класс инкапсулирует детали открытия и закрытия базы данных.
DatabaseReader dbReader = new DatabaseReader();
dbReader.Open(@"C:\AutoLot.mdf");
// Сделать что-то с файлом данных и закрыть файл.
dbReader.Close();
Вымышленный класс
DatabaseReader
DatabaseReader
AutoLot.mdf
С понятием инкапсуляции программной логики тесно связана идея защиты данных. В идеале данные состояния объекта должны быть определены с применением одного из ключевых слов
private
internal
protected
Роль наследования
Следующий принцип ООП — наследование — отражает возможность языка разрешать построение определений новых классов на основе определений существующих классов. По сути, наследование позволяет расширять поведение базового (или родительского) класса за счет наследования его основной функциональности производным подклассом (также называемым дочерним классом). На рис. 5.2 показан простой пример.

Диаграмма на рис. 5.2 читается так: "шестиугольник (
Hexagon
Shape
Object
- Предыдущая
- 114/642
- Следующая