Презентация Повторное использование кода. Наследование онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Повторное использование кода. Наследование абсолютно бесплатно. Урок-презентация на эту тему содержит всего 23 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Повторное использование кода. Наследование
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:23 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:100.17 kB
- Просмотров:110
- Скачиваний:1
- Автор:неизвестен
Слайды и текст к этой презентации:
№4 слайд
Содержание слайда: Повторное использование кода
Повторное использование кода – возможность использовать код написанный 1 раз во всех других местах, где он понадобится, а не включать его копию или аналог.
Например, если однажды был написан алгоритм сортировки целочисленного массива, то было бы очень желательно использовать именно этот код и для сортировки массива типа Double.
Повторное использование кода – один из механизмов повышения эффективности разработки программ!
Если в последующем потребуется улучшить алгоритм сортировки, то изменить придется только одну часть кода (которая используется в разных случаях), а не две или более, если для каждого типа массивов будут использоваться отдельные реализации алгоритма.
№5 слайд
Содержание слайда: Наследование
В ООП имеется специальный механизм, расширяющий повторное использование кода – наследование.
Наследование в ООП позволяет создавать новые класса на основе уже существующих классов (расширять разработанные ранее классы).
Пусть кто-то разработал класс (Histogram). В другом проекте другим разработчикам понадобилось добавить в него свойство, например, для нахождения шага (ширины канала) гистограммы.
№6 слайд
Содержание слайда: Наследование
Задача. Добавить в Histogram вычисляемое свойство, для шага гистограммы.
Текста класса Histogram у нас нет!
Вариант 1:
Самим разработать аналогичный класс и добавить в него нужное свойство.
Вариант 2:
Позвонить разработчику Histogram, попросить его прислать код класса и доработать его, добавив нужное свойство.
№7 слайд
Содержание слайда: Наследование
ООП предлагает более эффективный вариант – разработать свой собственный класс на основе Histogram (унаследовав все возможности Histogram).
class ExtendedHist: Histogram
{
ExtendedHist (string t, double a, double b, int N): base(t,a,b,N)
{
}
}
Это объявление можно (и нужно) понимать так:
Объекты класса ExtendedHist являются и объектами класса Histogram, но с некоторыми расширениями.
№9 слайд
Содержание слайда: Расширение класса-предка
class ExtendedHist: Histogram
{
ExtendedHist (string t, double a, double b, int N): base(t,a,b,N){
}
public double ChannelWidth
{get {return (RightEdge - LeftEdge)/NChannels;}}
}
Нужное свойство добавлено!
Наш класс полностью использует код класса-предка, расширяя его лишь небольшой вставкой!
№10 слайд
Содержание слайда: Наследование. Терминология
Класс B, производный от класса A называется классом-наследником, классом-потомком, дочерним классом или производным классом.
Говорят, что класс B наследует от класса А.
Класс A называется базовым классом, классом-предком или родительским классом для класса B.
По существу же, класс B является и классом A, но с некоторыми расширениями.
№12 слайд
Содержание слайда: За сценой синтаксиса ООП
Когда мы пишем h.Write(), то метод Write выведет содержимое гистограммы h на консоль.
Конечно же, он каким-то “таинственным” образом получил данные объекта h.
На самом деле метод Write имеет параметр! Этот параметр имеет тип класса Histogram и имя this.
Write(Histogram this);
В качестве этого параметра и передается объект, указанный слева от метода (h).
h.Write() эквивалентно Write(h)!
Это относится и ко всем остальным методам. Их первым (скрытым) параметром является параметр с именем this и имеющим тип класса, метод которого рассматривается!
Внутри метода к объекту, для которого вызван метод можно обращаться используя имя this.
№13 слайд
Содержание слайда: Как выполняется программа?
Выполняемая программа (exe-файл) – это набор данных и команд для компьютера. У каждой программы имеется стандартный заголовок, в котором указано, для какой системы написана программа, некоторая другая важная информация, в том числе адрес точки начала исполнения программы (адрес точки входа).
В C# компилятор в качестве такой точки начала программы (точки входа) указывает адрес метода Main. Этот метод автоматически создается в классе Program, когда создается новый проект.
Следствие. Метод Main должен быть в каждой программе и он должен быть один!
Операционная система:
загружает выполняемую программу в память,
читает заголовок программы и
передает управление на точку входа.
С этого момента начинает работать наша программа.
№14 слайд
Содержание слайда: C# полностью ООП язык
В C# все типы данных являются объектами.
int, double, … - это классы наследники от класса Object.
Если при объявлении класса не указывается класс-предок, то по умолчанию базовым классом будет класс Object.
Такая структура языка программирования приводит к еще одной загадке.
Что бы вызвать метод некоторого класса, нужно:
Создать объект этого класса
И вызвать метод для данного объекта.
Но, создавать объекты можно ТОЛЬКО внутри методов!
№15 слайд
Содержание слайда: Как начать выполнение C# программы?
Напоминание. Что бы вызвать метод некоторого класса, нужно:
Создать объект этого класса
И вызвать метод для данного объекта.
Создавать объекты можно ТОЛЬКО внутри методов!
Как же можно вызвать метод Main класса Program? Ведь сначала нужно вызвать какой-то другой метод, который создаст объект класса Program и для него вызвать Main. Но что бы вызвать этот метод опять нужно создать объект…
Замкнутый круг?
№16 слайд
Содержание слайда: Статические методы
Правило:
Что бы вызвать метод некоторого класса, нужно:
Создать объект этого класса
И вызвать метод для данного объекта.
не совсем точно!
Некоторые методы можно вызывать без создания объекта!
Console.WriteLine(), Math.Sin(x), …
Здесь слева стоит имя класса, а не имя объекта. Такие методы не имеют скрытого параметра this. (Соответственно, они не получают данных какого либо объекта)
Такие методы называются статическими.
№17 слайд
Содержание слайда: Статические методы
Что бы объявить статический метод перед ним нужно указать слово static.
static void Main(string[] args)
Вот как объявлен метод Main в классе Program.
Так что Main можно вызывать не создавая объекта и парадокса нет!
Статическими объявляют методы, которым не нужно никаких других данных, кроме тех, что поступают через параметры.
Math.Sin(x) – чтобы вычислить синус нужно знать только значение x.
№19 слайд
Содержание слайда: Статические данные
Кроме статических методов можно объявлять и статические поля данных или свойства. Просто указать квалификатор static.
Такие данные являются общими для всех объектов. Например, можно объявить статический счетчик объектов и, тогда, если в конструкторе увеличивать этот счетчик, то в нем будет храниться количество созданных объектов (все объекты будут увеличивать один и тот же счетчик).
Статические данные доступны и для статических методов.
№20 слайд
Содержание слайда: Контрольные вопросы
Каким образом методы получают данные объекта, для которого они вызываются?
Почему метод Main можно вызывать без создания объекта?
Как объявить статический метод?
Как вызвать статический метод?
В каких случаях имеет смысл делать метод статическим?
Что такое “статические данные”?
№21 слайд
Содержание слайда: Объекты и операции
Что бы сделать использование разработанных классов удобным, в C# существует еще одна полезная возможность – переопределять операции над объектами.
Допустим мы разработали класс матриц, который реализует много полезных методов работы с матрицами. Но как сделать, чтобы сложение матриц было таким, как мы привыкли c=a+b?
class Matrix
{
…
static public Matrix operator+ (Matrix a, Matrix b)
{
Matrix c = new Matrix(…)
for(int i …
for(int j …
c[i, j]= a[i, j]+b[i,j];
return c;
}
}
№22 слайд
Содержание слайда: Объекты и операции
Теперь в программах для объектов класса Matrix можно использовать операцию сложения
Matrix c = a + b; // а и b – объекты класса Matrix
Аналогично можно определить и операции умножения, деления матриц и пр.
Тогда программы, работающие с матрицами будут выглядеть привычно. Работать с ними будет проще!
---------
Переопределять можно:
!, ~, ++, --
+, -, *, /, %, &, |, ^, <<, >>
==, !=, <, >, <=, >=
&&, ||
[]
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
...
Скачать все slide презентации Повторное использование кода. Наследование одним архивом:
-
Принципы повторного использования и полиморфизм
-
Технология создания программ с использованием алгоритмической структуры «развилка»
-
Использование функциональности метабоксов в WordPress
-
Шифрование и дешифрование матрицы с использованием ключа
-
Использование Excel в других приложениях MS Office
-
Особенности использования функциональных возможностей MS Power Point при создании презентации
-
ВКР: Разработка ANDROID приложения с использованием MVP архитектуры
-
Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять»
-
Программная реализация кода с повторением
-
Комбинированный алгоритм. Программирование черепашки для постройки дома. Использование инвентаряв одной программе