Похожие презентации:
Классы и методы в C#
1. Классы и методы в C#
2. Классы
Класс – это абстрактный тип данных, т.е. это некоторыйшаблон, на основе которого будут создаваться его
экземпляры – объекты.
В С# классы объявляются с помощью ключевого
слова class:
[модификатор доступа] class [имя_класса]
{
//тело класса
}
3. Модификаторы доступа к классам
- public – доступ к классу возможен из любого местаодной сборки либо из другой сборки, на которую есть
ссылка;
- internal – доступ к классу возможен только из сборки, в
которой он объявлен.
Если при объявлении класса не указать модификатор
доступа, то по умолчанию будет применяться режим
internal.
Сборка – это готовый функциональный модуль в виде exe
либо dll файла (файлов), который содержит
скомпилированный код для .NET.
4. Объявление классов
Класс следует объявлять внутри пространстваимен namespace, но за пределами другого класса
Пример:
namespace HelloWorld
{
class Student // класс будет internal
{
//тело класса
}
public class Pupil
{
//тело класса
}
}
5. Члены класса
- поля;- константы;
- свойства;
- конструкторы;
- методы;
- события;
- операторы;
- индексаторы;
- вложенные типы.
Все члены класса также имеют свой уровень доступа.
6. Модификаторы доступа к членам класса
- public – доступ к члену возможен из любого места однойсборки, либо из другой сборки, на которую есть ссылка;
- protected – доступ к члену возможен только внутри класса,
либо в классе-наследнике;
- internal – доступ к члену возможен только из сборки, в
которой он объявлен;
- private – доступ к члену возможен только внутри класса;
- protected internal - доступ к члену возможен из одной сборки,
либо из класса-наследника другой сборки.
7. Модификаторы доступа к членам класса
Не указав модификатор доступа для члена, по умолчаниюему будет присвоен режим private.
При помощи модификаторов доступа в С# реализуется один
из базовых принципов ООП – инкапсуляция.
Инкапсуляция - это использование модификаторов
доступа с целью сокрытия частей программного кода от
конечного пользователя.
8. Модификаторы доступа к членам класса
Классы и члены класса можно сделать статическими спомощью служебного слова static.
Пример:
public static class Class1
{
}
При использовании статического класса не обязательно
создавать объект класса для обращения к классу и его
членам.
9. Поля класса
Поле – это переменная, объявленная внутри класса. Дляполучения доступа к полям следует использовать свойства
или методы.
Пример:
class Student
{
private string firstName;
private string lastName;
private int age;
public string group; // не рекомендуется использовать public
для поля
}
10. Создание объектов
После объявления класса можно создавать объекты припомощи ключевого слова new и имени класса:
namespace HelloWorld
{
class Student
{
private string
firstName;
private string
lastName;
private int age;
public string
group;
}
{
static void
Main(string[] args)
{
Student student1
= new Student();
//создание объекта
student1 класса Student
Student student2
= new Student();
}
}
11. Доступ к членам объекта
Доступ осуществляется при помощи оператора точка «.» :static void Main(string[] args)
{
Student student1 = new Student();
Student student2 = new Student();
student1.group = "Group1";
student2.group = "Group2";
Console.WriteLine(student1.group); // выводит "Group1"
Console.Write(student2.group);
Console.ReadKey();
}
12.
Рассмотрим пример:namespace HelloWorld
{
class Student
{
private string firstName;
private string lastName;
private int age;
public string group;
}
class Program
{
static void Main(string[] args)
{
Student student1 = new Student();
student1.firstName= "Nikolay"; //ошибка, нет доступа к
полю firstName. }
13. Константы
Константы - члены класса не отличаются от простыхконстант.
Константа – это переменная, значений которой нельзя
изменить.
Константа объявляется с помощью ключевого слова const.
Пример:
class Math
{
private const double Pi = 3.14;
}
14. Методы
Метод – это небольшая подпрограмма, которая выполняет, видеале, только одну функцию. Методы позволяют сократить
объем кода.
Различают статические и простые методы.
Статический метод – это метод, который не имеет доступа к
полям объекта, и для вызова такого метода не нужно создавать
экземпляр (объект) класса, в котором он объявлен.
Простой метод – это метод, который имеет доступ к данным
объекта, и его вызов выполняется через объект.
15. Методы
[модификаторы] <тип_возврата> ИмяМетода([параметры])
{ // Тело метода }
Пример:
1) public double Meth1(double a)
{…
return(Math.Pow(a,2))
}
2)
private void Meth2()
{…
}
16. Свойства
Свойства класса - это член класса, которыйпредоставляет удобный механизм доступа к полю класса
(чтение поля и запись).
При использовании свойства, мы обращаемся к нему, как к
полю класса, но на самом деле компилятор преобразовывает
это обращение к вызову соответствующего неявного метода.
Такой метод называется аксессор (accessor).
17. Свойства
Существует два аксессора:get (для получения данных из поля) и
set (для записи).
Объявление простого свойства имеет следующую
структуру:
<тип> <имя>
{
get
{ // код аксессора для чтения из поля }
set
{ // код аксессора для записи в поле }
}
18. Свойства
Пример:public class Date
{ private int month = 7;
Public int Month
{
get {
return month; }
set {
if ((value > 0) && (value < 13)) { month
= value; } }
}
}
19. Свойства
Метод доступа get должен заканчиваться операторомreturn или throw.
В методе доступа set используется неявный
параметр value, тип которого соответствует типу свойства.
20. Вложенные типы
Тип, определенный внутри класса, называется вложеннымтипом.
Пример:
class Container
{
class Nested
{
Nested() { }
}
}
21. Вложенные типы
Вложенные типы по умолчанию являются private, но могутбыть также public, protected internal, protected или internal.
Для создания нового экземпляра вложенного класса
следует использовать запись:
Container.Nested a= new Container.Nested();
22. События
Прежде чем рассмотреть события, необходимоознакомиться с понятием делегат.
Делегат – это объект, указывающий на другой метод (или
список методов) приложения, который может быть вызван
позднее.
Тип делегата объявляется с помощью ключевого
слова delegate:
delegate <возвращаемый_тип> имя
(список_параметров);
23. События
Событие - это ситуация, при возникновении которойпроизойдет действие или несколько действий.
Событие задается ключевым словом event:
public event <НазваниеДелегата> <НазваниеСобытия>;
Для запуска события используется запись:
<НазваниеСобытия> ()
Программирование