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


Объектно-ориентированное программирование

Содержание

Объектно-ориентированное программирование (ООП)Это методика разработки программ, в основе которой лежит понятие объекта как некоторой структуры, соответствующей объекту реального мира, его поведению.

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

Слайд 1Объектно-ориентированное программирование
основные понятия

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

Слайд 2Объектно-ориентированное программирование (ООП)
Это методика разработки программ, в основе которой лежит

понятие объекта как некоторой структуры, соответствующей объекту реального мира, его

поведению.
Объектно-ориентированное программирование (ООП)Это методика разработки программ, в основе которой лежит понятие объекта как некоторой структуры, соответствующей объекту

Слайд 3Информационная модель объекта
Объект-оригинал заменяется набором его характеристик (свойств) и их

значений

Объект - Дом

Информационная модель объектаОбъект-оригинал заменяется набором его характеристик (свойств) и их значенийОбъект - Дом

Слайд 4Класс
Это тип, описывающий устройство объектов (их поведение и способ представления)

Класс

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

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

Слайд 5Объявление класса
сlass Person
{
string Name;
string Address;
int Year;
}


Объекты как представители класса создаются при помощи операции new
Person Men

= new Person();
Person Women = new Person();

Объявление классасlass Person 	{ 	string Name;	string Address;	int Year;  } Объекты как представители класса создаются при помощи

Слайд 6Инкапсуляция
Это объединение внутри класса его данных с функциями, обрабатывающими эти

данные (методами)

Под инкапсуляцией понимают скрытие полей объекта с

целью обеспечения доступа к ним только посредством методов класса
ИнкапсуляцияЭто объединение внутри класса его данных с функциями, обрабатывающими эти данные (методами)  Под инкапсуляцией понимают скрытие

Слайд 7Методы
Методы класса выполняют действия над объектами класса

Включая объявление метода в

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

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

Слайд 8Объявление методов
сlass Person
{ string Name;

string Address;
int Year;
public Person(string

N, string A, int Y)
{
Name = N;
Address = A;
Year = Y;
}
Объявление методовсlass Person 		{   string Name;    string Address;    int

Слайд 9 public void Show()
{

Console.WriteLine(Name);
Console.WriteLine(Address);

Console.WriteLine(Year);
}
public int GetYear()
{
return Year;
}
}
public void Show()   {    Console.WriteLine(Name);    Console.WriteLine(Address);

Слайд 10Конструктор
В C# объект – это динамическая структура.
Переменная-объект содержит не

данные, а ссылку на данные объекта.
Поэтому программист должен выделить

память для этих данных при помощи специального метода класса – конструктора.
Имя конструктора совпадает с именем класса.
Конструктор В C# объект – это динамическая структура.Переменная-объект содержит не данные, а ссылку на данные объекта. Поэтому

Слайд 11Описание конструктора
public Person(string N, string A, int Y)
{

Name = N;
Address

= A;
Year = Y;
}
Конструктор вызывается при создании объекта с помощью операции new
Person Men = new Person(“Иванов”,“СПб”,1976);
Описание конструктораpublic Person(string N, string A, int Y)  {    Name = N;

Слайд 12Вызов методов
Для обычных (не статических) методов вызов осуществляется через имя

экземпляра класса.

Person Men = new Person(“Иванов”,“СПб”,1976);
Men.Show();
int myYear = Men.GetYear();

Вызов методовДля обычных (не статических) методов вызов осуществляется через имя экземпляра класса.Person Men = new Person(“Иванов”,“СПб”,1976);Men.Show();int myYear

Слайд 13Для защиты полей объекта используют директиву private (закрытый)
Директива private используется

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

Поля и методы, объявленные

как private, не доступны за пределами класса, которому они принадлежат, даже в порожденных классах
Для защиты полей объекта используют директиву  private (закрытый)Директива private используется также для ограничения использования некоторых методов

Слайд 14Сокрытие данных
Неотделимая часть ООП, управляющая областями видимости

Целью сокрытия данных является

предельная локализация изменений в коде программы

Вместо прямого доступа к полям

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

Слайд 15Выводы:
Инкапсуляция - это принцип, согласно которому любой класс должен рассматриваться

как черный ящик

Пользователь класса должен видеть и использовать только интерфейсную

часть класса (список декларируемых свойств и методов)
Выводы:Инкапсуляция - это принцип, согласно которому любой класс должен рассматриваться как черный ящикПользователь класса должен видеть и

Слайд 16Наследование
Это механизм, позволяющий создавать иерархии объектов

Наследованием называется возможность порождать один

класс от другого с сохранением всех свойств и методов класса-предка,

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

Слайд 17Иерархия
Это набор классов, связанных отношением наследования

ИерархияЭто набор классов, связанных отношением наследования

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

двух других
сlass Person
{ string Name;

string Address;
int Year;
public Person(string N, string A, int Y)
{
Name = N;
Address = A;
Year = Y;
}
}


Пусть определены три класса, один из которых является базовым для двух другихсlass Person 		  { string

Слайд 19Класс-потомок должен иметь свой конструктор
class Student: Person
{
int Group;

public

Student(string N, string A, int Y, int G): base (N,

A, Y)
{
Group = G;
}
}
Класс-потомок должен иметь свой конструкторclass Student: Person{  int Group;public Student(string N, string A, int Y, int

Слайд 20class Professor: Person
{
string Kafedra;

public Professor(string N, string A, int

Y, string K):

base (N, A, Y)
{
Kafedra = K;
}
}
class Professor: Person{ string Kafedra;public Professor(string N, string A, int Y, string K):

Слайд 21Переопределение методов
Объект-потомок наследует не только поля родителя-объекта, но и методы

Использование

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

метода
Переопределение методовОбъект-потомок наследует не только поля родителя-объекта, но и методыИспользование имени метода родительского типа в объявлении дочернего

Слайд 22Полиморфизм
«поли» значит «много», а «морфизм» — «изменение» или «вариативность»


таким образом, «полиморфизм» — это свойство одних и тех же

объектов и методов принимать разные формы.
Полиморфизм «поли» значит «много», а «морфизм» — «изменение» или «вариативность» таким образом, «полиморфизм» — это свойство одних

Слайд 23Полиморфизм
Полиморфизмом называют явление, при котором один и тот же программный

код (полиморфный код) выполняется по-разному, в зависимости от того, объект

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

Слайд 24Виртуальный метод
virtual - виртуальный (возможный – лат.)

Объявление метода виртуальным дает

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

класса, замещающий метод родительского класса, помечается директивой override
Виртуальный методvirtual - виртуальный (возможный – лат.)Объявление метода виртуальным дает возможность дочернему классу произвести замену виртуального метода

Слайд 25Определение метода Show для каждого класса
сlass Person
{

virtual public void Show()

{
Console.WriteLine(Name);

Console.WriteLine(Address);
Console.WriteLine(Year);
}
}
Определение метода Show для каждого классасlass Person{…virtual public void Show()   {    Console.WriteLine(Name);

Слайд 26сlass Student: Person
{

override public void Show()
{

base.Show();
Console.WriteLine(Group);
}
}

сlass Student: Person{…override public void Show()   {    base.Show();    Console.WriteLine(Group);

Слайд 27сlass Professor: Person
{

override public void Show()
{

base.Show();
Console.WriteLine(Kafedra);
}
}

сlass Professor: Person{…override public void Show()   {    base.Show();    Console.WriteLine(Kafedra);

Слайд 28Программа демонстрации наследования
namespace ConsoleApplication1
{
class DecTo
{

string State;
int Base;
 

public DecTo(string s)
{
this.State = s;
this.Base = s.Length;
}
Программа демонстрации наследованияnamespace ConsoleApplication1{  class DecTo  {    string State;

Слайд 29// метод перевода чисел
public string Trans(int

Dec)
{

string r = "\0";
int Ost;
do
{
Ost = Dec % Base;
r = State[Ost] + r;
Dec /= Base;
}
while (Dec > 0);
return r;
}
}


Слайд 30class DecToBin : DecTo
{
public

DecToBin() : base ("01");
}
 
class DecToOct

: DecTo
{
public DecToOct(): base ("01234567");
}
 
class DecToHex : DecTo
{
public DecToHex(): base("0123456789ABCDEF");
}
class DecToBin : DecTo  {    public DecToBin() : base (

Слайд 31class Program
{
static void Main()
{


int D;

Console.WriteLine("Input value in 10 system:");
D = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
DecToBin P1 = new DecToBin();
DecToOct P2 = new DecToOct();
DecToHex P3 = new DecToHex();
Console.WriteLine("2 system -> " + P1.Trans(D));
Console.WriteLine("8 system -> " + P2.Trans(D));
Console.WriteLine("16 system -> " + P3.Trans(D));
Console.ReadKey();
}
}

Слайд 32Результаты работы программы:

Результаты работы программы:

Слайд 33Основные концепции ООП
Система состоит из объектов
Объекты взаимодействуют

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

своим состоянием и поведением
Состояние объекта задается значениями полей данных
Поведение объекта задается методами
Дочерние классы наследуют поля и методы своего родительского класса, с возможностью добавления новых свойств и методов
Есть возможность переопределить в дочернем классе некоторые методы( не виртуальные методы переопределять не рекомендуется! )
Основные концепции ООП Система состоит из объектов Объекты взаимодействуют между собой, могут быть связаны отношением наследования Каждый

Слайд 34Проверочная работа № 1
I вариант
Базовый класс Товар (поля Название, Цена,

Производитель), дочерний класс Продукт (доп. поле Срок реализации - дней)
II

вариант
Базовый класс Автомобиль (поля Производитель, Модель, Год выпуска), дочерний класс Автобус (доп. поле Вместимость)

Проверочная работа № 1I вариантБазовый класс Товар (поля Название, Цена, Производитель), дочерний класс Продукт (доп. поле Срок

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

для вывода на экран значений полей
Описать метод Get, возвращающий значение

одного из полей
Аналогично для дочернего класса
В главной функции создать по 1 объекту каждого класса
Показать вызов методов

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

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

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

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

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

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


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

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