ݺߣ

ݺߣShare a Scribd company logo
1
2. Классы и объекты в C#
Объектно-ориентированное программирование
() Владислав Лавров, vlavrov.com
2
Технологическое определение
Класс – описание структуры объекта и методов работы с ним.
Объект – структура данных, содержащая описание свойств внешнего
объекта программирования.
Метод – функция, работающая с объектом.
2.1. Классы и их экземпляры как основа объектной модели
() Владислав Лавров, vlavrov.com
3
Синтаксическое определение на языке программирования
Класс – это тип данных, определяемый программистом.
Тип данных – форма представления данных с набором операций.
Объект – переменная класса.
() Владислав Лавров, vlavrov.com
4
Классы позволяют группировать в единое целое данные и функциональность,
моделируя объекты реального мира.
Класс может содержать в своем теле:
• поля,
• методы,
• свойства
• события.
Поля определяют состояние, а методы – поведение будущего объекта.
() Владислав Лавров, vlavrov.com
5
Пример.
Класс, который должен хранить данные об имени сотрудника, его
идентификационном номере и текущей заработной плате.
Помимо этого в классе определены два метода – GiveBonus() для увеличения
заработной платы сотрудника и DisplayStats() для вывода всех имеющихся
данных об этом сотруднике.
2.2. Реализация класса в C#. Конструкторы класса
() Владислав Лавров, vlavrov.com
6
Название класса
Закрытые переменные
Конструкторы
Пример реализации класса в C#
() Владислав Лавров, vlavrov.com
7
Конструктор по умолчанию
Конструктор класса
— специальный метод, который вызывается во время построения класса
Пользовательский конструктор
() Владислав Лавров, vlavrov.com
8
Бывают двух видов:
• Конструкторы по умолчанию. Задача – инициализация полей
значениями по умолчанию.
• Пользовательские конструкторы. Задача – инициализация полей
предопределенными пользователем значениями.
Конструкторы в C#
() Владислав Лавров, vlavrov.com
9
• Если в теле класса не определен явно ни один конструктор, то всегда используется
«невидимый» конструктор по умолчанию.
• Имя конструктора всегда совпадает с именем класса. Конструкторы не имеют
возвращаемых значений.
• Если в классе имеется пользовательский конструктор, и при этом требуется
создавать экземпляры класса с использованием конструктора по умолчанию, то
конструктор по умолчанию должен быть определен в теле класса явно, иначе
возникнет ошибка на уровне компиляции.
Замечания по реализации конструкторов в C#
() Владислав Лавров, vlavrov.com
10
2.3. Ключевое слово this
Основное применение ключевого слова this состоит в том, чтобы
разрешать неоднозначность контекста, которая может возникнуть, когда
входящий принимаемый параметр назван так же, как поле данных
внутренней переменной-члена класса.
Принимаемые параметры
Внутренние переменные-члены класса
() Владислав Лавров, vlavrov.com
11
Ключевое слово this (продолжение)
Чтобы избежать конфликта, можно определить для принимаемых
переменных имена, отличные от имен переменных-членов класса.
Пример возможной дисциплины именования
переменных-членов класса
() Владислав Лавров, vlavrov.com
12
Еще одно применение ключевого слова this
Техника под названием сцепление конструкторов или
цепочка конструкторов (constructor chaining)
Второй конструктор принимает один параметр
и перенаправляет вызов главному
конструктору с тремя параметрами
Главный конструктор принимает три параметра
() Владислав Лавров, vlavrov.com
13
Модификаторы доступа:
• Public – член объекта (метод или свойство) доступен всем;
• Protected – член объекта доступен только самому объекту и его потомкам;
• Private – член объекта является закрытым и не доступен за его пределами;
• Internal – член объекта доступен только в пределах текущей сборки;
Внимание (!) Никогда не следует делать поля открытыми, это плохой стиль.
Для обращения к полю, рекомендуется использовать методы доступа set и get.
2.4. Видимость членов класса в C#
Неправильно Правильно
() Владислав Лавров, vlavrov.com
14
Свойства – отдельные структуры данных. Заменяет использование методов.
Методы доступа set и get могут иметь модификаторы доступа.
По умолчанию методы доступа создаются открытыми (public) для общего
использования.
Если нужно сделать так, чтобы свойство нельзя было изменить, то set можно объявить
как private
В этом случае свойство EmpID не может быть изменено извне класса, потому что к
нему нет доступа.
Однако к нему можно получить доступ на запись внутри текущего класса.
Запрет только на внешний доступ.
2.5. Определение свойств в C#
() Владислав Лавров, vlavrov.com
15
Определение
свойств
Пример определения свойств в C#
() Владислав Лавров, vlavrov.com
16
Метод – это набор действий, который рассматриваются как единое целое и может быть
выполнен в ходе работы программы.
Модификаторы доступа:
• Public – модификатор общедоступности метода (метод доступен всем);
• Private – метод будет доступен только из класса, в котором определен данный
метод (действует по умолчанию);
• Protected – метод будет доступен как из класса, в котором он определен, так и из
любого производного класса;
• Internal – метод будет доступен из всех классов внутри сборки, в которой он
определен. Из-за пределов этой сборки обратиться к нему будет нельзя;
• Protected internal – действует как protected или как internal
2.6. Определение методов в C#
() Владислав Лавров, vlavrov.com
17
Пример реализации метода в C#
() Владислав Лавров, vlavrov.com
18
2.7. Статические методы и методы экземпляров
Статический метод может быть вызван напрямую через уровень класса, без
необходимости создавать хотя бы один экземпляр объекта данного класса.
Если член класса объявляется как static, то он становится доступным до
создания любых объектов своего класса и без ссылки на какой-нибудь
объект. С помощью ключевого слова static можно объявлять как переменные,
так и методы.
() Владислав Лавров, vlavrov.com
19
Пример реализации статического метода
() Владислав Лавров, vlavrov.com
20
Вызов метода экземпляра в C#
Для вызова метода экземпляра необходимо сначала создать объект класса,
в котором определен данный метод. Затем метод вызывается чрез объект
другого класса.
() Владислав Лавров, vlavrov.com

More Related Content

What's hot (20)

Collections - Array List
Collections - Array List Collections - Array List
Collections - Array List
Hitesh-Java
Java Programming - Polymorphism
Java Programming - PolymorphismJava Programming - Polymorphism
Java Programming - Polymorphism
Oum Saokosal
Generics in java
Generics in javaGenerics in java
Generics in java
suraj pandey
Collections - Lists, Sets
Collections - Lists, Sets Collections - Lists, Sets
Collections - Lists, Sets
Hitesh-Java
Ppt of c vs c#
Ppt of c vs c#Ppt of c vs c#
Ppt of c vs c#
shubhra chauhan
Java 8 features
Java 8 featuresJava 8 features
Java 8 features
NexThoughts Technologies
Inner classes in java
Inner classes in javaInner classes in java
Inner classes in java
PhD Research Scholar
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulation
Intro C# Book
Java collections
Java collectionsJava collections
Java collections
Hamid Ghorbani
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
Srinivas Reddy
Object oriented programming With C#
Object oriented programming With C#Object oriented programming With C#
Object oriented programming With C#
Youssef Mohammed Abohaty
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#
Olga Maksimenkova
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
Doncho Minkov
String, string builder, string buffer
String, string builder, string bufferString, string builder, string buffer
String, string builder, string buffer
SSN College of Engineering, Kalavakkam
Java exception handling ppt
Java exception handling pptJava exception handling ppt
Java exception handling ppt
JavabynataraJ
Java collection Java collection
Java collection
Ghodbane Heni
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
JihenHedhli1
Java Class Loading
Java Class LoadingJava Class Loading
Java Class Loading
Sandeep Verma
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
Khaled Adnan
Core java
Core java Core java
Core java
Ravi varma
Collections - Array List
Collections - Array List Collections - Array List
Collections - Array List
Hitesh-Java
Java Programming - Polymorphism
Java Programming - PolymorphismJava Programming - Polymorphism
Java Programming - Polymorphism
Oum Saokosal
Collections - Lists, Sets
Collections - Lists, Sets Collections - Lists, Sets
Collections - Lists, Sets
Hitesh-Java
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#
Olga Maksimenkova
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
Doncho Minkov
Java exception handling ppt
Java exception handling pptJava exception handling ppt
Java exception handling ppt
JavabynataraJ
Java collection Java collection
Java collection
Ghodbane Heni
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
JihenHedhli1

Similar to Классы и объекты С# (20)

C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.
Igor Shkulipa
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
Technopark
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
Igor Shkulipa
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.
Igor Shkulipa
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
Technopark
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.
Anton Moiseenko
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работам
student_kai
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.
Igor Shkulipa
АРК-ПЗ-1.ٳ
АРК-ПЗ-1.ٳАРК-ПЗ-1.ٳ
АРК-ПЗ-1.ٳ
robete3065
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
metaform
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]
Technopark
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5
Technopark
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2
Technopark
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекций
student_kai
Android - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, generics
Noveo
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
C++ осень 2013 лекция 7
C++ осень 2013 лекция 7C++ осень 2013 лекция 7
C++ осень 2013 лекция 7
Technopark
C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.C++ Базовый. Занятие 08.
C++ Базовый. Занятие 08.
Igor Shkulipa
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
Technopark
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
Igor Shkulipa
C# Desktop. Занятие 02.
C# Desktop. Занятие 02.C# Desktop. Занятие 02.
C# Desktop. Занятие 02.
Igor Shkulipa
C++ осень 2013 лекция 4
C++ осень 2013 лекция 4C++ осень 2013 лекция 4
C++ осень 2013 лекция 4
Technopark
Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.Java Core. Lecture# 2. Classes & objects.
Java Core. Lecture# 2. Classes & objects.
Anton Moiseenko
презентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работампрезентация кметодическим указаниям к лаб. работам
презентация кметодическим указаниям к лаб. работам
student_kai
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.C++ Базовый. Занятие 09.
C++ Базовый. Занятие 09.
Igor Shkulipa
Глава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeansГлава 2: Среда разработки NetBeans
Глава 2: Среда разработки NetBeans
metaform
углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]углубленное программирование на C++. лекция no.5 [4.0]
углубленное программирование на C++. лекция no.5 [4.0]
Technopark
C++ осень 2013 лекция 5
C++ осень 2013 лекция 5C++ осень 2013 лекция 5
C++ осень 2013 лекция 5
Technopark
C++ осень 2012 лекция 2
C++ осень 2012 лекция 2C++ осень 2012 лекция 2
C++ осень 2012 лекция 2
Technopark
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекций
student_kai
Android - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, generics
Noveo
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
C++ осень 2013 лекция 7
C++ осень 2013 лекция 7C++ осень 2013 лекция 7
C++ осень 2013 лекция 7
Technopark

More from Ural Federal University named after First President of Russia B.N. Yeltsin (20)

2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.
Ural Federal University named after First President of Russia B.N. Yeltsin
2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.
Ural Federal University named after First President of Russia B.N. Yeltsin
2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.
Ural Federal University named after First President of Russia B.N. Yeltsin
Введение в методы agile
Введение в методы agileВведение в методы agile
Введение в методы agile
Ural Federal University named after First President of Russia B.N. Yeltsin
ООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсыООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсы
Ural Federal University named after First President of Russia B.N. Yeltsin
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
Ural Federal University named after First President of Russia B.N. Yeltsin
3. Общая характеристика АСУ
3. Общая характеристика АСУ3. Общая характеристика АСУ
3. Общая характеристика АСУ
Ural Federal University named after First President of Russia B.N. Yeltsin
3. Информация и ее роль
3. Информация и ее роль3. Информация и ее роль
3. Информация и ее роль
Ural Federal University named after First President of Russia B.N. Yeltsin
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУОбразовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Ural Federal University named after First President of Russia B.N. Yeltsin
1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ
Ural Federal University named after First President of Russia B.N. Yeltsin
Интерфейсы
ИнтерфейсыИнтерфейсы
Интерфейсы
Ural Federal University named after First President of Russia B.N. Yeltsin
магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+
Ural Federal University named after First President of Russia B.N. Yeltsin
магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+
Ural Federal University named after First President of Russia B.N. Yeltsin
1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+
Ural Federal University named after First President of Russia B.N. Yeltsin
1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+
Ural Federal University named after First President of Russia B.N. Yeltsin
1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+
Ural Federal University named after First President of Russia B.N. Yeltsin
2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД
Ural Federal University named after First President of Russia B.N. Yeltsin
2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю
Ural Federal University named after First President of Russia B.N. Yeltsin

Классы и объекты С#

  • 1. 1 2. Классы и объекты в C# Объектно-ориентированное программирование () Владислав Лавров, vlavrov.com
  • 2. 2 Технологическое определение Класс – описание структуры объекта и методов работы с ним. Объект – структура данных, содержащая описание свойств внешнего объекта программирования. Метод – функция, работающая с объектом. 2.1. Классы и их экземпляры как основа объектной модели () Владислав Лавров, vlavrov.com
  • 3. 3 Синтаксическое определение на языке программирования Класс – это тип данных, определяемый программистом. Тип данных – форма представления данных с набором операций. Объект – переменная класса. () Владислав Лавров, vlavrov.com
  • 4. 4 Классы позволяют группировать в единое целое данные и функциональность, моделируя объекты реального мира. Класс может содержать в своем теле: • поля, • методы, • свойства • события. Поля определяют состояние, а методы – поведение будущего объекта. () Владислав Лавров, vlavrov.com
  • 5. 5 Пример. Класс, который должен хранить данные об имени сотрудника, его идентификационном номере и текущей заработной плате. Помимо этого в классе определены два метода – GiveBonus() для увеличения заработной платы сотрудника и DisplayStats() для вывода всех имеющихся данных об этом сотруднике. 2.2. Реализация класса в C#. Конструкторы класса () Владислав Лавров, vlavrov.com
  • 6. 6 Название класса Закрытые переменные Конструкторы Пример реализации класса в C# () Владислав Лавров, vlavrov.com
  • 7. 7 Конструктор по умолчанию Конструктор класса — специальный метод, который вызывается во время построения класса Пользовательский конструктор () Владислав Лавров, vlavrov.com
  • 8. 8 Бывают двух видов: • Конструкторы по умолчанию. Задача – инициализация полей значениями по умолчанию. • Пользовательские конструкторы. Задача – инициализация полей предопределенными пользователем значениями. Конструкторы в C# () Владислав Лавров, vlavrov.com
  • 9. 9 • Если в теле класса не определен явно ни один конструктор, то всегда используется «невидимый» конструктор по умолчанию. • Имя конструктора всегда совпадает с именем класса. Конструкторы не имеют возвращаемых значений. • Если в классе имеется пользовательский конструктор, и при этом требуется создавать экземпляры класса с использованием конструктора по умолчанию, то конструктор по умолчанию должен быть определен в теле класса явно, иначе возникнет ошибка на уровне компиляции. Замечания по реализации конструкторов в C# () Владислав Лавров, vlavrov.com
  • 10. 10 2.3. Ключевое слово this Основное применение ключевого слова this состоит в том, чтобы разрешать неоднозначность контекста, которая может возникнуть, когда входящий принимаемый параметр назван так же, как поле данных внутренней переменной-члена класса. Принимаемые параметры Внутренние переменные-члены класса () Владислав Лавров, vlavrov.com
  • 11. 11 Ключевое слово this (продолжение) Чтобы избежать конфликта, можно определить для принимаемых переменных имена, отличные от имен переменных-членов класса. Пример возможной дисциплины именования переменных-членов класса () Владислав Лавров, vlavrov.com
  • 12. 12 Еще одно применение ключевого слова this Техника под названием сцепление конструкторов или цепочка конструкторов (constructor chaining) Второй конструктор принимает один параметр и перенаправляет вызов главному конструктору с тремя параметрами Главный конструктор принимает три параметра () Владислав Лавров, vlavrov.com
  • 13. 13 Модификаторы доступа: • Public – член объекта (метод или свойство) доступен всем; • Protected – член объекта доступен только самому объекту и его потомкам; • Private – член объекта является закрытым и не доступен за его пределами; • Internal – член объекта доступен только в пределах текущей сборки; Внимание (!) Никогда не следует делать поля открытыми, это плохой стиль. Для обращения к полю, рекомендуется использовать методы доступа set и get. 2.4. Видимость членов класса в C# Неправильно Правильно () Владислав Лавров, vlavrov.com
  • 14. 14 Свойства – отдельные структуры данных. Заменяет использование методов. Методы доступа set и get могут иметь модификаторы доступа. По умолчанию методы доступа создаются открытыми (public) для общего использования. Если нужно сделать так, чтобы свойство нельзя было изменить, то set можно объявить как private В этом случае свойство EmpID не может быть изменено извне класса, потому что к нему нет доступа. Однако к нему можно получить доступ на запись внутри текущего класса. Запрет только на внешний доступ. 2.5. Определение свойств в C# () Владислав Лавров, vlavrov.com
  • 16. 16 Метод – это набор действий, который рассматриваются как единое целое и может быть выполнен в ходе работы программы. Модификаторы доступа: • Public – модификатор общедоступности метода (метод доступен всем); • Private – метод будет доступен только из класса, в котором определен данный метод (действует по умолчанию); • Protected – метод будет доступен как из класса, в котором он определен, так и из любого производного класса; • Internal – метод будет доступен из всех классов внутри сборки, в которой он определен. Из-за пределов этой сборки обратиться к нему будет нельзя; • Protected internal – действует как protected или как internal 2.6. Определение методов в C# () Владислав Лавров, vlavrov.com
  • 17. 17 Пример реализации метода в C# () Владислав Лавров, vlavrov.com
  • 18. 18 2.7. Статические методы и методы экземпляров Статический метод может быть вызван напрямую через уровень класса, без необходимости создавать хотя бы один экземпляр объекта данного класса. Если член класса объявляется как static, то он становится доступным до создания любых объектов своего класса и без ссылки на какой-нибудь объект. С помощью ключевого слова static можно объявлять как переменные, так и методы. () Владислав Лавров, vlavrov.com
  • 19. 19 Пример реализации статического метода () Владислав Лавров, vlavrov.com
  • 20. 20 Вызов метода экземпляра в C# Для вызова метода экземпляра необходимо сначала создать объект класса, в котором определен данный метод. Затем метод вызывается чрез объект другого класса. () Владислав Лавров, vlavrov.com