Встроенные типы

advertisement
Учебный курс
Объектно-ориентированный анализ и
программирование
Лекция 5
Система типов
Лекции читает
кандидат технических наук
Курак Михаил Валерьянович
2
3
4
5
6
7
Предопределенные и определяемые типы
Object
Встроенные
типы
Библиотечные
типы
Типы, определяемые
разработчиком
Типы, определяемые
разработчиком
Типы, определяемые
разработчиком
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Предопределенные и определяемые типы
Object
Встроенные
типы
Библиотечные
типы
Типы, определяемые
разработчиком
Типы, определяемые
разработчиком
Типы, определяемые
разработчиком
24
Встроенные типы (1)
25
Встроенные типы (2)
26
Пример программы (1)
using System;
public class Телефон
{
public static string марка;
}
public class МойТелефон : Телефон
{
public int номер;
public void Показать(string сообщение)
{
Console.WriteLine(сообщение + марка + " " + номер);
}
}
class Пользователь
{
static void Main(string[] args)
{
int мойНомер = 1554177;
МойТелефон тел;
тел = new МойТелефон();
МойТелефон.марка = "Panasonic";
тел.номер = мойНомер;
тел.Показать(“Это номер ”);
}
}
Поле
Локальная
переменная
Константа
27
Переменные
Переменная – объект, который может изменять свое значение в процессе
выполнения программы
Определяются явно в объявлении переменной
ТИП
int цена;
ИМЯ
=
ИНИЦИАЛИЗАТОР
Не обязателен
-поля: по умолчанию
-локальные переменные: “мусор”
double курс = 25.5;
Поле объекта
Создается –
при создании объекта
Уничтожается – при уничтожении объекта
Локальная переменная метода
Создается –
при каждом входе в метод
Уничтожается – при выходе из метода
Следствие:
Любое выражение,
которое можно
вычислить на
момент выполнения
объявления
28
Пример программы (1)
using System;
public class Телефон
{
public static string марка;
}
public class МойТелефон : Телефон
{
public int номер;
public void Показать(string сообщение)
{
Console.WriteLine(сообщение + марка + " " + номер);
}
}
class Пользователь
{
static void Main(string[] args)
{
int мойНомер = 1554177;
МойТелефон тел;
тел = new МойТелефон();
МойТелефон.марка = "Panasonic";
тел.номер = мойНомер;
тел.Показать(“Это номер ”);
}
}
Поле
Локальная
переменная
Константа
29
Литералы
Константа - объект, который не изменяет своего значения в процессе выполнения программы
ТИП
ЗНАЧЕНИЕ
Определяются
по форме записи
литерала
387
Целый литерал со значением 387
2.5
Вещественный литерал со значением 2.5
0.25E1
Вещественный литерал со значением 2.5
‘Ф’
Символьный литерал, соответствующий коду буквы Ф
“БЕНДЕР”
Строковый литерал
true
Логический литерал, соответствующий истинному значению
Создаются –
при запуске программы
Уничтожаются – при завершении программы
30
Целые со знаком
int
long
Целые без знака
uint
ulong
Вещественные
double
35U
- типа uint
2.5F - типа float
35L
- типа long
2.5M - типа decimal
31
Именованные константы
Определяются явно в объявлении константы
ТИП
ИМЯ
=
ИНИЦИАЛИЗАТОР
const int цена = 555;
Целая константа
сonst double курс = 25.5;
Вещественная константа
const char буква = ‘Ф’;
Символьная константа
сonst string фамилия = “БЕНДЕР”
Строковая константа
const bool признак = true;
Логическая константа
Создаются –
при запуске программы
Следствие: Константа или константное выражение
Уничтожаются – при завершении программы
32
Переменные
Переменная – объект, который может изменять свое значение в процессе
выполнения программы
Определяются явно в объявлении переменной
ТИП
int цена;
ИМЯ
=
ИНИЦИАЛИЗАТОР
Не обязателен
-поля: по умолчанию
-локальные переменные: “мусор”
double курс = 25.5;
Поле объекта
Создается –
при создании объекта
Уничтожается – при уничтожении объекта
Локальная переменная метода
Создается –
при каждом входе в метод
Уничтожается – при выходе из метода
Следствие:
Любое выражение,
которое можно
вычислить на
момент выполнения
объявления
33
34
35
36
Автоматическое преобразование типа источника
к типу приемника
37
Ссылка типа
object
Адрес
Объект – ссылка
Объект – значение
(например, типа int)
Упаковать
Адрес
Копия
38
Download