Презентация, доклад по программированию Классы и методы в C#

Содержание

КлассыКласс – это абстрактный тип данных, т.е. это некоторый шаблон, на основе которого будут создаваться его экземпляры – объекты.В Си-шарп классы объявляются с помощью ключевого слова class: [модификатор доступа] class [имя_класса] {    //тело класса }

Слайд 1Лекция №2
Классы и методы в C#

Лекция №2Классы и методы в C#

Слайд 2Классы
Класс – это абстрактный тип данных, т.е. это некоторый шаблон, на основе

которого будут создаваться его экземпляры – объекты.
В Си-шарп классы объявляются с помощью ключевого слова class: [модификатор доступа] class [имя_класса] {    //тело класса }


КлассыКласс – это абстрактный тип данных, т.е. это некоторый шаблон, на основе которого будут создаваться его экземпляры – объекты.В

Слайд 3Модификаторы доступа к классам
- public – доступ к классу возможен из любого места

одной сборки либо из другой сборки, на которую есть ссылка;
- internal – доступ к классу возможен только из сборки, в которой он объявлен.
Если при объявлении класса не указать модификатор доступа, то по умолчанию будет применяться режим internal.
Сборка – это готовый функциональный модуль в виде exe либо dll файла (файлов), который содержит скомпилированный код для .NET.
Модификаторы доступа к классам- public – доступ к классу возможен из любого места одной сборки либо из другой сборки,

Слайд 4Объявление классов
Класс следует объявлять внутри пространства имен namespace, но за пределами другого

класса   Пример: namespace HelloWorld {    class Student // класс будет internal    {      //тело класса    }    public class Pupil   {     //тело класса   }
}
Объявление классовКласс следует объявлять внутри пространства имен namespace, но за пределами другого класса   Пример: namespace HelloWorld {

Слайд 5Члены класса
- поля;
- константы;
- свойства;
- конструкторы;
- методы;
- события;
- операторы;
- индексаторы;
- вложенные типы.
Все члены класса также имеют свой уровень доступа.

Члены класса- поля;- константы;- свойства;- конструкторы;- методы;- события;- операторы;- индексаторы;- вложенные типы.Все члены класса также имеют свой уровень доступа.

Слайд 6Модификаторы доступа к членам класса
- public – доступ к члену возможен из любого места

одной сборки, либо из другой сборки, на которую есть ссылка; - protected – доступ к члену возможен только внутри класса, либо в классе-наследнике; - internal – доступ к члену возможен только из сборки, в которой он объявлен; - private – доступ к члену возможен только внутри класса; - protected internal - доступ к члену возможен из одной сборки, либо из класса-наследника другой сборки.
Модификаторы доступа к членам класса- public – доступ к члену возможен из любого места одной сборки, либо из другой

Слайд 7Не указав модификатор доступа для члена, по умолчанию ему будет присвоен

режим private. При помощи модификаторов доступа в Си-шарп реализуется один из базовых принципов ООП – инкапсуляция.
Инкапсуляция - это использование модификаторов доступа с целью сокрытия частей программного кода от конечного пользователя (разработчик или наследующий объект).

Модификаторы доступа к членам класса

Не указав модификатор доступа для члена, по умолчанию ему будет присвоен режим private. При помощи модификаторов доступа в

Слайд 8Классы и члены класса можно сделать статическими с помощью служебного слова

static.
Пример:
public static class Class1
{
}
При использовании статического класса не обязательно создавать объект класса для обращения к классу и его членам.

Модификаторы доступа к членам класса

Классы и члены класса можно сделать статическими с помощью служебного слова 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;    }    class Program    {      static void Main(string[] args)      {        Student student1 = new Student(); //создание объекта student1 класса Student        Student student2 = new Student();      }    } }

Создание объектовПосле объявления класса можно создавать объекты при помощи ключевого слова new и имени класса: namespace HelloWorld {   

Слайд 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(); }

Доступ к членам объектаДоступ осуществляется при помощи оператора точка «.» : static void Main(string[] args) {   

Слайд 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. }

Рассмотрим пример:namespace HelloWorld {    class Student    {      private string firstName;      private string lastName;

Слайд 13Константы
Константы-члены класса не отличаются от простых констант. 
Константа – это переменная, значений которой нельзя

изменить. Константа объявляется с помощью ключевого слова const.
Пример:
class Math {    private const double Pi = 3.14; }


КонстантыКонстанты-члены класса не отличаются от простых констант. Константа – это переменная, значений которой нельзя изменить. Константа объявляется с помощью ключевого

Слайд 14Методы
Метод – это небольшая подпрограмма, которая выполняет, в идеале, только одну

функцию. Методы позволяют сократить объем кода.
Различают статические и простые методы.
Статический метод – это метод, который не имеет доступа к полям объекта, и для вызова такого метода не нужно создавать экземпляр (объект) класса, в котором он объявлен.
Простой метод – это метод, который имеет доступ к данным объекта, и его вызов выполняется через объект.

МетодыМетод – это небольшая подпрограмма, которая выполняет, в идеале, только одну функцию. Методы позволяют сократить объем кода.Различают

Слайд 15Методы
[модификаторы] ИмяМетода ([параметры])
{ // Тело метода }
Пример:
1) public double

Meth1(double a)
{…
rerurn(Math.Pow(a,2))
}
2)
private void Meth2()
{…
}
Методы[модификаторы] ИмяМетода ([параметры]) { // Тело метода }Пример:1) public double Meth1(double a){…rerurn(Math.Pow(a,2))}2)private void Meth2(){…}

Слайд 16Задание 1
Создать новый класс Tel, содержащий поля день разговора (задается целым

числом в интервале от 1 до 7), время разговора (вещественное число) и стоимость (вещественное число). Создать новый метод для подсчета стоимости телефонного разговора в зависимости от дна недели: в выходные дни стоимость разговора меньше на 10%.
Задание 1Создать новый класс Tel, содержащий поля день разговора (задается целым числом в интервале от 1 до

Слайд 17Свойства
Свойства класса -  это член класса, он предоставляет удобный механизм доступа

к полю класса (чтение поля и запись).
При использовании свойства, мы обращаемся к нему, как к полю класса, но на самом деле компилятор преобразовывает это обращение к вызову соответствующего неявного метода.
Такой метод называется аксессор (accessor).


СвойстваСвойства класса -  это член класса, он предоставляет удобный механизм доступа к полю класса (чтение поля и

Слайд 18Свойства
Существует два аксессора: get (для получения данных) и set (для записи). Объявление простого свойства имеет

следующую структуру:
<тип> <имя>
{
get
{ // код аксессора для чтения из поля }
set
{ // код аксессора для записи в поле }
}


СвойстваСуществует два аксессора: get (для получения данных) и set (для записи). Объявление простого свойства имеет следующую структуру: { get { //

Слайд 19Свойства
Пример:
public class Date
{ private int month = 7;
Public int

Month
{
get {
return month; }
set {
if ((value > 0) && (value < 13)) { month = value; } }
}
}

СвойстваПример:public class Date { private int month = 7; Public int Month { get { return month;

Слайд 20Свойства
Метод доступа get должен заканчиваться оператором return или throw, а элемент управления не должен

выходить за основную часть метода доступа.
Метод доступа set похож на метод, имеющий тип возвращаемого значения void. В нем используется неявный параметр value, тип которого соответствует типу свойства.
СвойстваМетод доступа get должен заканчиваться оператором return или throw, а элемент управления не должен выходить за основную часть метода доступа.Метод

Слайд 21Задание 2
Отредактируйте Задание 1 так, чтобы с помощью свойства происходила проверка

вводимого дня недели, и в случае, когда день недели не входит в интервал от 1 до 7, выводился запрос на повторное введение.


Задание 2Отредактируйте Задание 1 так, чтобы с помощью свойства происходила проверка вводимого дня недели, и в случае,

Слайд 22Вложенные типы
Тип, определенный внутри класса , называется вложенным типом.
Пример:
class Container
{
class Nested

{
Nested() { }
}
}

Вложенные типыТип, определенный внутри класса , называется вложенным типом.Пример:class Container{ class Nested { Nested() { } } }

Слайд 23Вложенные типы
Вложенные типы по умолчанию являются private, но могут быть также public,

protected internal, protected или  internal.
Для создания нового экземпляра вложенного класса следует использовать запись:
Container.Nested a= new Container.Nested();
Вложенные типыВложенные типы по умолчанию являются private, но могут быть также public, protected internal, protected или  internal.Для создания

Слайд 24События
Прежде чем рассмотреть события, необходим ознакомиться с понятием делегат.
Делегат – это

объект, указывающий на другой метод (или список методов) приложения, который может быть вызван позднее.
Тип делегата объявляется с помощью ключевого слова delegate:
delegate <возвращаемый_тип> имя (список_параметров); 
СобытияПрежде чем рассмотреть события, необходим ознакомиться с понятием делегат.Делегат – это объект, указывающий на другой метод (или

Слайд 25using System;
namespace ConsoleApplication1
{ // Создадим делегат
delegate int IntOperation (int

i, int j);
class Program
{ // Организуем ряд методов
static int Sum(int x, int y)
{ return x + y; }
static int Prz(int x, int y)
{ return x * y; }
static void Main()
{ // Сконструируем делегат
IntOperation op1 = new IntOperation(Sum);
int result = op1(5, 10);
Console.WriteLine("Сумма: " + result);
// Изменим ссылку на метод
op1 = new IntOperation(Prz);
result = op1(5, 10);
Console.WriteLine("Произведение: " + result);}
}
}
using System; namespace ConsoleApplication1 	{ // Создадим делегат	delegate int IntOperation (int i, int j);	class Program		{ // Организуем

Слайд 26События
Событие- это ситуация, при возникновении которой, произойдет действие или несколько действий. 
Событие

задается ключевым словом event:
public event <НазваниеДелегата> <НазваниеСобытия>; 
Для запуска события используется запись:
<НазваниеСобытия> ()
СобытияСобытие- это ситуация, при возникновении которой, произойдет действие или несколько действий. Событие задается ключевым словом event:public event ; Для

Слайд 27Задание 3
Определено два класса. Первый класс будет находить квадрат числа от

1 до 10, используя цикл. Другой класс будет ждать, когда в первом классе квадрат числа станет больше 25, и после этого выведет в консоль фразу «Квадрат числа больше 25!».
Задание 3Определено два класса. Первый класс будет находить квадрат числа от 1 до 10, используя цикл. Другой

Слайд 28Домашнее задание
Найти и законспектировать:
Индексаторы класса и их использование в C#.
Конструкторы класса

в С#.
Домашнее заданиеНайти и законспектировать:Индексаторы класса и их использование в C#.Конструкторы класса в С#.

Слайд 29Самостоятельно
1. Создать новый класс, содержащий поля количество дней (задается целым числом

с учетом того, что в месяц не более 26 рабочих дней), среднее значение отработанных часов в день (вещественное число) и стоимость 1 часа (вещественное число), надбавки (в %). Создать новый метод для подсчета заработной платы за месяц с учетом надбавки. Использовать при решении поля, методы, свойство (для ограничения количества дней в рабочем месяце).




Самостоятельно1. Создать новый класс, содержащий поля количество дней (задается целым числом с учетом того, что в месяц

Слайд 30Самостоятельно
2. В предыдущую задачу добавьте событие: если среднее значение отработанных часов

в день превышает 8 часов, выводится сообщение «Переработка!».




Самостоятельно2. В предыдущую задачу добавьте событие: если среднее значение отработанных часов в день превышает 8 часов, выводится

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть