Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Основы объектно-ориентированного программирования

Основные понятия ООП – ОП ООП ☺Класс — описание устройства и поведения объектов. Класс можно сравнить с чертежом, согласно которому создаются объекты.Объект — сущность в памяти компьютера, появляющаяся при создании экземпляра класса. Одновременно
Программирование  на языке высокого уровняЛекция 11. Основы объектно-ориентированного программированияКафедра АСОИУ ОмГТУ, 2012Богатов Р.Н. Основные понятия ООП    – ОП ООП ☺Класс — описание Основные понятия ООПИнкапсуляция — объединение данных и кода в единый объект с Пример иерархии и полиморфизма РацДробь A, B, C, D, E;  A = new Мир ботов v0.1 alpha abstract class Bot{  string sName =
Слайды презентации

Слайд 2
Основные понятия ООП – ОП

Основные понятия ООП  – ОП ООП ☺Класс — описание устройства

ООП ☺
Класс — описание устройства и поведения объектов. Класс

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

Объект — сущность в памяти компьютера, появляющаяся при создании экземпляра класса. Одновременно может существовать несколько экземпляров одного класса.

Слайд 3
Основные понятия ООП
Инкапсуляция — объединение данных и кода

Основные понятия ООПИнкапсуляция — объединение данных и кода в единый объект

в единый объект с целью 1) их защиты и

2) сокрытия реализации объекта.

Наследование — возможность порождать один класс от другого 1) с сохранением свойств и методов базового (родительского) класса и 2) с добавлением, при необходимости, новых свойств и методов.

Полиморфизм — изменение реализации метода базового класса в классах-потомках

Слайд 4 Пример иерархии и полиморфизма

Пример иерархии и полиморфизма

Слайд 5 РацДробь A, B, C, D, E;

Знаменатель) t = НОД(Числитель, Знаменатель); else t = НОД(Знаменатель, Числитель); Числитель /= t; Знаменатель /= t; } public РацДробь Прибавить(РацДробь x) { РацДробь t = new РацДробь(); t.Числитель = Числитель * x.Знаменатель + x.Числитель * Знаменатель; t.Знаменатель = Знаменатель * x.Знаменатель; t.Сократить(); return t; } ...} РацДробь A, B, C, D, E; A = new РацДробь(); B = new РацДробь(); ... A.Числитель = 1234; A.Знаменатель = 5678; ... // Вычислим E = (A+B*C)/D; E = B.Умножить(C); E = A.Прибавить(E); E = E.Разделить(D); // E = A.Прибавить(B.Умножить(C)).Разделить(D); label3.Text = Convert.ToString(E.Числитель) + "/" + Convert.ToString(E.Знаменатель); РацДробь A = new РацДробь(1234, 5678); РацДробь B = new РацДробь(100); ... E = (A+B*C)/D; label3.Text = Convert.ToString(E); //label3.Text = E.ToString();class РацДробь{ ... public РацДробь(ulong num, ulong den) { Числитель = num; Знаменатель = den; } public static РацДробь operator +(РацДробь x, РацДробь y) { РацДробь t = new РацДробь( x.Числитель*y.Знаменатель + y.Числитель*x.Знаменатель, x.Знаменатель*y.Знаменатель); t.Сократить(); return t; } public override string ToString() { Сократить(); string s = Convert.ToString(Числитель); if (Знаменатель!=1) s += "/" + Convert.ToString(Знаменатель); return s; } ...}">РацДробь A, B, C, D, E; A = new РацДробь();

A = new РацДробь();
B = new

РацДробь();
...
A.Числитель = 1234;
A.Знаменатель = 5678;
...

// Вычислим E = (A+B*C)/D;
E = B.Умножить(C);
E = A.Прибавить(E);
E = E.Разделить(D);

// E = A.Прибавить(B.Умножить(C)).Разделить(D);
label3.Text =
Convert.ToString(E.Числитель) + "/"
+ Convert.ToString(E.Знаменатель);

Если бы был класс для рациональных дробей…

class РацДробь
{
public ulong Числитель, Знаменатель;
public РацДробь() {}
ulong НОД(ulong x, ulong y) {...}

void Сократить()
{
ulong t;
if (Числитель>Знаменатель)
t = НОД(Числитель, Знаменатель);
else
t = НОД(Знаменатель, Числитель);
Числитель /= t;
Знаменатель /= t;
}

public РацДробь Прибавить(РацДробь x)
{
РацДробь t = new РацДробь();
t.Числитель = Числитель * x.Знаменатель
+ x.Числитель * Знаменатель;
t.Знаменатель = Знаменатель * x.Знаменатель;
t.Сократить();
return t;
}
...
}

РацДробь A, B, C, D, E;
A = new РацДробь();
B = new РацДробь();
...
A.Числитель = 1234;
A.Знаменатель = 5678;
...

// Вычислим E = (A+B*C)/D;
E = B.Умножить(C);
E = A.Прибавить(E);
E = E.Разделить(D);

// E = A.Прибавить(B.Умножить(C)).Разделить(D);
label3.Text =
Convert.ToString(E.Числитель) + "/"
+ Convert.ToString(E.Знаменатель);

РацДробь A = new РацДробь(1234, 5678);
РацДробь B = new РацДробь(100);
...

E = (A+B*C)/D;
label3.Text = Convert.ToString(E);
//label3.Text = E.ToString();


class РацДробь
{
...
public РацДробь(ulong num, ulong den)
{
Числитель = num;
Знаменатель = den;
}

public static РацДробь operator +(РацДробь x, РацДробь y)
{
РацДробь t = new РацДробь(
x.Числитель*y.Знаменатель + y.Числитель*x.Знаменатель,
x.Знаменатель*y.Знаменатель);
t.Сократить();
return t;
}

public override string ToString()
{
Сократить();
string s = Convert.ToString(Числитель);
if (Знаменатель!=1)
s += "/" + Convert.ToString(Знаменатель);
return s;
}
...
}


Слайд 6 Мир ботов v0.1 alpha

Мир ботов v0.1 alpha

  • Имя файла: osnovy-obektno-orientirovannogo-programmirovaniya.pptx
  • Количество просмотров: 90
  • Количество скачиваний: 0