Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_for_Beginners.doc
Скачиваний:
28
Добавлен:
23.11.2019
Размер:
2.4 Mб
Скачать

Конструкторы

В каждом классе существует конструктор — метод с тем же именем, что и у класса. Конструктор вызывается при создании объекта на базе определения класса. Обычно конструкторы задают начальные значения переменных, определенных в классе. Конструкторы не используются38, если начальным значением для числовых типов данных будет ноль, "false" для логических типов данных или null для ссылочных типов, поскольку эти типы данных инициализируются автоматически.

Можно определить конструкторы с любым числом параметров. Конструкторы без параметров называется конструкторами по умолчанию. В следующем примере показано определение класса с конструктором по умолчанию и конструктором, принимающим в качестве значения строковое выражение. Затем этот класс использует каждый из них.

class SampleClass

{

string greeting;

public SampleClass()

{

greeting = "Hello, World";

}

public SampleClass(string message)

{

greeting = message;

}

public void SayHello()

{

System.Console.WriteLine(greeting);

}

}

class Program

{

static void Main(string[] args)

{

// Use default constructor.

SampleClass sampleClass1 = new SampleClass();

sampleClass1.SayHello();

// Use constructor that takes a string parameter.

SampleClass sampleClass2 = new SampleClass("Hello, Mars");

sampleClass2.SayHello();

}

}

Operator Overloading

Creating different methods with the same name, in the previous example SampleClass(), is called overloading. The compiler knows which method to use because the list of arguments, if there are any, is provided each time an object is created. Overloading can make your code more flexible and readable.

Destructors

You may already know about destructors if you have used C++. Because of the automatic garbage collection system in C#, it is not likely that you will ever have to implement a destructor unless your class uses unmanaged resources. For more information, see Destructors (C# Programming Guide).

Перегрузка методов

Перегрузкой называется создание разных методов с одним именем. В предыдущем примере такими методами являются конструкторы SampleClass(). Компилятору известно, какой метод следует использовать, поскольку во время каждого создания объекта предоставляется список аргументов (если таковые имеются). Перегрузка может сделать код более гибким и удобочитаемым.

Деструкторы

Если вы работали с C++, то, возможно, вы уже располагаете сведениями о деструкторах. В связи с наличием в C# системы автоматического сбора мусора маловероятно, что вам когда-либо придется применять деструктор, если только класс не использует неуправляемые ресурсы.

How to: Call a Method on an Object

This example calls an instance method, myMethod, referenced through an instance of the class.

Example

class Program

{

static void Main(string[] args)

{

Program myObject = new Program();

myObject.myMethod();

}

void myMethod()

{

// Do something

}

}

Compiling the Code

Copy the code, and paste it into a console application and build the solution.

Robust Programming

Use the fully qualified name of the method, unless it is accessible from the same scope.

If the method is static, you should not reference it through an instance of the class.

When assigning an expression to a property, make sure of the following:

  • That it is of a compatible data type.

  • That it has a valid value, especially if the value is derived from user input.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]