Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 63
Эндрю Троелсен
В терминах ООП это называется
class HelloClass {
public string userMessage;
public HelloClass() {Console.WriteLine("Вызван конструктор, заданный по умолчанию!");}
public HelloClass(string msg) {
Console.WriteLine("Вызван пользовательский конструктор!");
userMessage = msg;
}
public void PrintMessage() {
Console.WriteLine("Значение userMessage: {0}\n", userMessage);
}
}
class HelloApp {
public static int Main(string[] args) {
HelloClass c1 = new HelloClass("Эй, вы, там…");
c1.PrintMessage();
}
}
Исходный код. Проект HelloClass размещен в подкаталоге, соответствующем главе 3.
Класс System.Console
Многие примеры приложений, созданные для первых глав этой книги, используют класс System.Console. Конечно, интерфейс CUI (Console User Interface – консольный интерфейс пользователя) не так "соблазнителен", как интерфейс Windows или WebUI, но, ограничившись в первых примерах интерфейсом CUI, мы можем сосредоточиться на иллюстрируемых базовых понятиях, не отвлекаясь на сложности построения GUI (Graphical User Interface – графический интерфейс пользователя).
Как следует из его имени, класс Console инкапсулирует элементы обработки потоков ввода, вывода и сообщений об ошибках для консольных приложений. С выходом .NET 2.0 тип Console получил новые функциональные возможности.
В табл. 3.2 представлен список некоторых наиболее интересных из них (но, конечно же, не всех).
Таблица 3.2. Подборка членов System.Console, новых для .NET 2.0
Член | Описание |
---|---|
BackgroundColor ForegroundColor | Свойства, устанавливающие цвет изображения/фона для текущего потока вывода. Могут получать значения из перечня ConsoleColor |
BufferHeight BufferWidth | Свойства, контролирующие высоту/ширину буферной области консоли |
Clear() | Метод, выполняющий очистку буфера и области отображения консоли |
Title | Свойство, устанавливающее заголовок текущей консоли |
WindowHeight WindowWidth WindowTop WindowLeft | Свойства, контролирующие размеры консоли относительно заданного буфера |
Ввод и вывод в классе Console
Вдобавок к членам, указанным в табл. 3.2, тип Console определяет множество методов, обрабатывающих ввод и вывод, причем все эти методы определены как статические (static), поэтому они вызываются на уровне класса. Вы уже видели, что WriteLine() вставляет текстовую строку (включая символ возврата каретки) в выходной поток. Метод Write() вставляет текст в выходной поток без возврата каретки. Метод ReadLine() позволяет получить информацию из входного потока до символа возврата каретки, a Read() используется дли захвата одного символа из входного потока.