Разделы презентаций


Разработка программ с использованием классов

Содержание

Это тип данных, определяемый пользователемЯвляется моделью реального объекта или процессаЭлементами класса являются данные и функции, предназначенные для их обработкиДля каждого объекта при создании выделяется память, в которой хранятся его данныеКласс

Слайды и текст этой презентации

Слайд 1Разработка программ с использованием классов
C#

Разработка программ с использованием классовC#

Слайд 2Это тип данных, определяемый пользователем
Является моделью реального объекта или процесса
Элементами

класса являются данные и функции, предназначенные для их обработки
Для каждого

объекта при создании выделяется память, в которой хранятся его данные

Класс

Это тип данных, определяемый пользователемЯвляется моделью реального объекта или процессаЭлементами класса являются данные и функции, предназначенные для

Слайд 3class Monster // класс Монстр (игровой персонаж)
{

string name; // поля класса

int power; //сила
int health; //здоровье
public Monster(string name, int power, int health) // конструктор класса
{
this.name = name;
this.power = power;
this.health = health;
}
}
static void Main()
{
Monster Vasia = new Monster("Вася",120, 100);
}

Создание экземпляров класса

class Monster // класс Монстр (игровой персонаж) {   string name;    // поля

Слайд 4В классе могут присутствовать статические элементы, которые существуют в единственном

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

остальные – данными экземпляра класса

Статические данные класса

В классе могут присутствовать статические элементы, которые существуют в единственном экземпляре для всех объектов классаСтатические данные называют

Слайд 5Пример
class Demo // класс
{
public static string Name

= "Demo"; // статическое поле
public const double q

= 1.66; // константа
double y; // закрытое поле данных

public Demo(double y) // конструктор класса
{
this.y = y;
}
}
static void Main()
{
Demo X = new Demo(56.5);
Console.WriteLine(Demo.Name);
Console.WriteLine(Demo.q);
}


Примерclass Demo // класс {  public static string Name =

Слайд 6Константы класса хранят неизменяемые значения, связанные с классом
Поля содержат данные

экземпляра класса
Конструкторы реализуют действия по инициализации экземпляров
Деструкторы определяют действия, которые

надо выполнить до того, как объект будет уничтожен
Методы реализуют вычисления и другие действия, выполняемые с объектами класса

Элементы класса

Константы класса хранят неизменяемые значения, связанные с классомПоля содержат данные экземпляра классаКонструкторы реализуют действия по инициализации экземпляровДеструкторы

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

то есть методы записи и чтения
Идексаторы задают обращение к скрытому

полю-массив с помощью квадратных скобок
Операции задают действия с объектами с помощью знаков операций
Типы – это типы данных, внутренние по отношению к классу

Элементы класса

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

Слайд 8Пример программы
namespace Monster
{
class Monster // базовый класс Монстр

{
string name;

// поля класса
int power;
int health;
public Monster() // конструктор по умолчанию
{
this.name = "NoName";
this.power = 0;
this.health = 0;
}
public Monster(string name) // конструктор класса
{
this.name = name;
this.power = 100;
this.health = 150;
}

Пример программыnamespace Monster{ class Monster // базовый класс Монстр    {

Слайд 9Пример программы
public Monster(string name, int power, int health) // конструктор

класса
{

this.name = name;
this.power = power;
this.health = health;
}

virtual public void Show() // метод для вывода информации о монстре на экран
{
Console.Write("\tМонстр: {0}\tСила: {1}\tЗдоровье: {2}", name, power, health);
}
 

Пример программыpublic Monster(string name, int power, int health) 					// конструктор класса     {

Слайд 10Продолжение программы

public int GetPower()
// метод возвращает значение силы

{

return power;
}

public void SetPower(int S)
// метод устанавливает силу
{
power=S;
}


Продолжение программыpublic int GetPower() 		// метод возвращает значение силы      {

Слайд 11Свойство
public int Power
//свойство возвращает,устанавливает значение силы
{

get
{
return

power;
}
set
{
if (value >= 0)
power = value;
else
power = 0;
}
}
Свойствоpublic int Power //свойство возвращает,устанавливает значение силы   {    get	 {

Слайд 12Использование свойства
static void Main()
{
Monster M =

new Monster("Masha", 100, 200);

if (M.Power

(M.Power);
}
Использование свойстваstatic void Main()   {	Monster M = new Monster(

Слайд 13Продолжение программы
public static void Attac(Monster M1, Monster M2)
//метод

атаки (сражение между двумя монстрами)
{
if (M1.power>M2.power)

{
M1.power += 10;
M2.health -= 10;
}
else
if (M1.power {
M2.power += 10;
M1.health -= 10;
}
else
{
M1.power += 5;
M2.power += 5;
}
}
} // конец описания класса Monster
Продолжение программы public static void Attac(Monster M1, Monster M2) 	//метод атаки (сражение между двумя монстрами) {

Слайд 14Продолжение программы
class Demon : Monster // порождённый класс Демон

{
int brain; // демон имеет ум

public

Demon():base() // конструктор для Демона
{
this.brain = 2;
}
public Demon(string name, int power, int health, int brain): base(name, power, health)
{
this.brain = brain;
}
// метод для вывода информации о Демоне
override public void Show()
{
base.Show();
Console.Write("\tУм: {0}", brain);
}
}
Продолжение программыclass Demon : Monster // порождённый класс Демон  {   int brain; // демон

Слайд 15На уровне базового класса можно написать универсальный код, который может

работать также с объектами дочерних классов, что реализуется с помощью

виртуальных методов;
Как виртуальные в классе должны быть описаны методы, которые выполняют во всей иерархии одну и ту же функцию, но разными способами;
Обычные (не виртуальные) методы переопределять в дочерних классах не рекомендуется!

Наследование

На уровне базового класса можно написать универсальный код, который может работать также с объектами дочерних классов, что

Слайд 16Начало главной функции
class Program
{
static void Main()

{
const int n = 4;


// количество персонажей игры
Random Rnd = new Random();
Monster[] stado = new Monster[n];
// массив стадо Монстров

Начало главной функцииclass Program{   static void Main()   {   	const int n

Слайд 17Задаём значения полей персонажей
for (int i = 0; i

n; i++)
{
string My_name; // вводим имена персонажей
Console.WriteLine("Введите

имя персонажа:");
My_name = Console.ReadLine();
Console.WriteLine("Монстр или демон? (м/д)");
char k = Convert.ToChar(Console.Read());

if (k=='д' || k=='Д')
stado[i] = new Demon(My_name, Rnd.Next(200), Rnd.Next(200), Rnd.Next(1,3));
else
stado[i] = new Monster(My_name, Rnd.Next(200), Rnd.Next(200)); // по умолчанию персонаж монстр
}
Задаём значения полей персонажейfor (int i = 0; i < n; i++)  { 	string My_name; //

Слайд 18Вывод на экран информации о персонажах
for (int i =

0; i < n; i++)
{

stado[i].Show();
Console.WriteLine("\n------------------\n");
}
Console.ReadKey();
}
Вывод на экран информации о персонажах for (int i = 0; i < n; i++)

Слайд 19Каждый метод должен решать только одну задачу;
Создание любой функции следует

начинать с её интерфейса (заголовка);
Перегруженные методы используются в классах повсеместно

(это лучше, чем один метод с переменным числом параметров);
Если в пределах класса есть несколько методов с одинаковыми именами, то они должны отличаться количеством или типами параметров.

Рекомендации по программированию

Каждый метод должен решать только одну задачу;Создание любой функции следует начинать с её интерфейса (заголовка);Перегруженные методы используются

Слайд 20Проверочная работа № 2
I вариант
Базовый класс Круг (поле: Радиус), дочерний

класс Цилиндр (поля: Радиус, Высота)

II вариант
Базовый класс Прямоугольник (поля: Длина,

Ширина), дочерний класс Параллелограмм (поля: Длина, Ширина, Угол наклона)

Проверочная работа № 2I вариантБазовый класс Круг (поле: Радиус), дочерний класс Цилиндр (поля: Радиус, Высота)II вариантБазовый класс

Слайд 21План работы:
Описать поля базового класса
Описать 2 конструктора базового класса
Описать метод

Show() для вывода на экран значений полей
Описать метод Square() для

вычисления площади фигуры
Аналогично для дочернего класса
В главной функции создать по 1 экземпляру каждого класса
Показать вызов всех методов для каждого объекта
План работы:Описать поля базового классаОписать 2 конструктора базового классаОписать метод Show() для вывода на экран значений полейОписать

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

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

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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