Презентация Повторное использование кода. Наследование онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Повторное использование кода. Наследование абсолютно бесплатно. Урок-презентация на эту тему содержит всего 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
  • Автор:
    неизвестен



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

№1 слайд
Объектно-Ориентированное
Содержание слайда: Объектно-Ориентированное Программирование Лекция 3 А.М. Задорожный 2016

№2 слайд
Содержание Повторное
Содержание слайда: Содержание Повторное использование кода и Наследование Статические методы и свойства Определение операций

№3 слайд
Контрольные вопросы Что
Содержание слайда: Контрольные вопросы Что означают следующие термины: Класс, объект? Конструктор? Поле данных? Метод? Квалификатор доступа? Свойство? Вычисляемое свойство? Эластичность кода программы? Инкапсуляция?

№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, но с некоторыми расширениями.

№8 слайд
Применяем класс-потомок
Содержание слайда: Применяем класс-потомок { Random r = new Random(); ExtendedHist h = new ExtendedHist(“Вес ТС”, 0, 10, 10); for(int i = 0; i < 1000; i++) h.Hist(10*r.NextDouble()); h.Write(); Console.WriteLine(h.MeanValue()); }

№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, но с некоторыми расширениями.

№11 слайд
Контрольные вопросы Что
Содержание слайда: Контрольные вопросы Что означает “Повторное использование кода”? Что означает “Наследование” в ООП? Как между собою связаны Наследование и Повторное использование кода? Как в C# объявить класс 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 все
Содержание слайда: C# полностью ООП язык В C# все типы данных являются объектами. int, double, … - это классы наследники от класса Object. Если при объявлении класса не указывается класс-предок, то по умолчанию базовым классом будет класс Object. Такая структура языка программирования приводит к еще одной загадке. Что бы вызвать метод некоторого класса, нужно: Создать объект этого класса И вызвать метод для данного объекта. Но, создавать объекты можно ТОЛЬКО внутри методов!

№15 слайд
Как начать выполнение C
Содержание слайда: Как начать выполнение 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.

№18 слайд
Статические методы Иногда
Содержание слайда: Статические методы Иногда статические методы называют методами класса (они принадлежат классу). Статические методы не имеют доступа к полям данных объекта. Обычные методов, в этом случае называют методами объектов.

№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 Аналогично можно определить и операции умножения, деления матриц и пр. Тогда программы, работающие с матрицами будут выглядеть привычно. Работать с ними будет проще! --------- Переопределять можно: !, ~, ++, -- +, -, *, /, %, &, |, ^, <<, >> ==, !=, <, >, <=, >= &&, || [] +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= ...

№23 слайд
Контрольные вопросы Зачем в C
Содержание слайда: Контрольные вопросы Зачем в C# предоставляется возможность переопределять операции над объектами? Как переопределить ту или иную операцию в C#?

Скачать все slide презентации Повторное использование кода. Наследование одним архивом: