🗊Презентация Классы, объекты, поля и методы. (Лекция 4)

Нажмите для полного просмотра!
Классы, объекты, поля и методы. (Лекция 4), слайд №1Классы, объекты, поля и методы. (Лекция 4), слайд №2Классы, объекты, поля и методы. (Лекция 4), слайд №3Классы, объекты, поля и методы. (Лекция 4), слайд №4Классы, объекты, поля и методы. (Лекция 4), слайд №5Классы, объекты, поля и методы. (Лекция 4), слайд №6Классы, объекты, поля и методы. (Лекция 4), слайд №7Классы, объекты, поля и методы. (Лекция 4), слайд №8Классы, объекты, поля и методы. (Лекция 4), слайд №9Классы, объекты, поля и методы. (Лекция 4), слайд №10Классы, объекты, поля и методы. (Лекция 4), слайд №11Классы, объекты, поля и методы. (Лекция 4), слайд №12Классы, объекты, поля и методы. (Лекция 4), слайд №13Классы, объекты, поля и методы. (Лекция 4), слайд №14Классы, объекты, поля и методы. (Лекция 4), слайд №15Классы, объекты, поля и методы. (Лекция 4), слайд №16Классы, объекты, поля и методы. (Лекция 4), слайд №17Классы, объекты, поля и методы. (Лекция 4), слайд №18Классы, объекты, поля и методы. (Лекция 4), слайд №19Классы, объекты, поля и методы. (Лекция 4), слайд №20Классы, объекты, поля и методы. (Лекция 4), слайд №21Классы, объекты, поля и методы. (Лекция 4), слайд №22Классы, объекты, поля и методы. (Лекция 4), слайд №23Классы, объекты, поля и методы. (Лекция 4), слайд №24Классы, объекты, поля и методы. (Лекция 4), слайд №25Классы, объекты, поля и методы. (Лекция 4), слайд №26Классы, объекты, поля и методы. (Лекция 4), слайд №27Классы, объекты, поля и методы. (Лекция 4), слайд №28Классы, объекты, поля и методы. (Лекция 4), слайд №29Классы, объекты, поля и методы. (Лекция 4), слайд №30Классы, объекты, поля и методы. (Лекция 4), слайд №31Классы, объекты, поля и методы. (Лекция 4), слайд №32Классы, объекты, поля и методы. (Лекция 4), слайд №33Классы, объекты, поля и методы. (Лекция 4), слайд №34Классы, объекты, поля и методы. (Лекция 4), слайд №35Классы, объекты, поля и методы. (Лекция 4), слайд №36Классы, объекты, поля и методы. (Лекция 4), слайд №37Классы, объекты, поля и методы. (Лекция 4), слайд №38Классы, объекты, поля и методы. (Лекция 4), слайд №39Классы, объекты, поля и методы. (Лекция 4), слайд №40Классы, объекты, поля и методы. (Лекция 4), слайд №41Классы, объекты, поля и методы. (Лекция 4), слайд №42Классы, объекты, поля и методы. (Лекция 4), слайд №43Классы, объекты, поля и методы. (Лекция 4), слайд №44Классы, объекты, поля и методы. (Лекция 4), слайд №45Классы, объекты, поля и методы. (Лекция 4), слайд №46Классы, объекты, поля и методы. (Лекция 4), слайд №47Классы, объекты, поля и методы. (Лекция 4), слайд №48Классы, объекты, поля и методы. (Лекция 4), слайд №49Классы, объекты, поля и методы. (Лекция 4), слайд №50Классы, объекты, поля и методы. (Лекция 4), слайд №51Классы, объекты, поля и методы. (Лекция 4), слайд №52Классы, объекты, поля и методы. (Лекция 4), слайд №53Классы, объекты, поля и методы. (Лекция 4), слайд №54Классы, объекты, поля и методы. (Лекция 4), слайд №55Классы, объекты, поля и методы. (Лекция 4), слайд №56Классы, объекты, поля и методы. (Лекция 4), слайд №57Классы, объекты, поля и методы. (Лекция 4), слайд №58Классы, объекты, поля и методы. (Лекция 4), слайд №59Классы, объекты, поля и методы. (Лекция 4), слайд №60Классы, объекты, поля и методы. (Лекция 4), слайд №61Классы, объекты, поля и методы. (Лекция 4), слайд №62Классы, объекты, поля и методы. (Лекция 4), слайд №63Классы, объекты, поля и методы. (Лекция 4), слайд №64Классы, объекты, поля и методы. (Лекция 4), слайд №65Классы, объекты, поля и методы. (Лекция 4), слайд №66

Содержание

Вы можете ознакомиться и скачать презентацию на тему Классы, объекты, поля и методы. (Лекция 4). Доклад-сообщение содержит 66 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Объектно-ориентированное программирование
Лекция 4. Классы и объекты. Поля класса, методы класса.
Описание слайда:
Объектно-ориентированное программирование Лекция 4. Классы и объекты. Поля класса, методы класса.

Слайд 2





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 3





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 4





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 5





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 6





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 7





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 8





Определение класса в ООП
Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.
Описание слайда:
Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных (сущности), характерной для моделируемой предметной области.

Слайд 9





Определение класса в ООП
Класс – это  модуль, архитектурная единица построения программной системы.
Описание слайда:
Определение класса в ООП Класс – это модуль, архитектурная единица построения программной системы.

Слайд 10





Проектирование в ООП
Объектно-ориентированная разработка программной системы основана на стиле, называемом проектированием от данных. Проектирование системы сводится к поиску абстракций данных, подходящих для конкретной задачи.
Описание слайда:
Проектирование в ООП Объектно-ориентированная разработка программной системы основана на стиле, называемом проектированием от данных. Проектирование системы сводится к поиску абстракций данных, подходящих для конкретной задачи.

Слайд 11





Проектирование в ООП
Некоторые сущности проявляются в процессе разработки – возможно, нам потребуются стены, пол и потолок, а для описания температуры, освещенности и концентрации СО2 может выявиться сущность – КОМФОРТ. У каждой сущности выявляются атрибуты и методы.
Описание слайда:
Проектирование в ООП Некоторые сущности проявляются в процессе разработки – возможно, нам потребуются стены, пол и потолок, а для описания температуры, освещенности и концентрации СО2 может выявиться сущность – КОМФОРТ. У каждой сущности выявляются атрибуты и методы.

Слайд 12





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

Слайд 13





Проектирование в ООП
В ООП используются понятия клиент и сервер. Сервер – тот, кто поставляет услугу (в нашем случае – класс), клиент – тот, кто использует этот класс (программист, возможно тот же, кто писал класс, возможно – другой).
Описание слайда:
Проектирование в ООП В ООП используются понятия клиент и сервер. Сервер – тот, кто поставляет услугу (в нашем случае – класс), клиент – тот, кто использует этот класс (программист, возможно тот же, кто писал класс, возможно – другой).

Слайд 14





Класс CCar
Рассмотрим создане и использование простейшего класса – автомобиль (Car). 
Для имен классов желательно использовать префикс – первую букву C (Class), чтобы не путать их в дальнейшем с объектами.
Поэтому имя класса будет CCar
Описание слайда:
Класс CCar Рассмотрим создане и использование простейшего класса – автомобиль (Car). Для имен классов желательно использовать префикс – первую букву C (Class), чтобы не путать их в дальнейшем с объектами. Поэтому имя класса будет CCar

Слайд 15





Создание нового проекта
Описание слайда:
Создание нового проекта

Слайд 16





Добавление нового класса
(правый клик на имени проекта)
Описание слайда:
Добавление нового класса (правый клик на имени проекта)

Слайд 17





Задание имени класса
Описание слайда:
Задание имени класса

Слайд 18





Класс CCar
Желательно каждый класс описывать в отдельном модуле
Заготовка для класса создается автоматически
Описание слайда:
Класс CCar Желательно каждый класс описывать в отдельном модуле Заготовка для класса создается автоматически

Слайд 19





Класс CCar
у нашего класса пока только два атрибута (поля)
public – поля будут видны во всем проекте (и в классе Program)
Описание слайда:
Класс CCar у нашего класса пока только два атрибута (поля) public – поля будут видны во всем проекте (и в классе Program)

Слайд 20





Класс CCar
Объекты создаются в том классе, где они используются – в Program
Описание слайда:
Класс CCar Объекты создаются в том классе, где они используются – в Program

Слайд 21





Класс CCar
при обращении к объекту видны все поля и методы, а также их типы
Описание слайда:
Класс CCar при обращении к объекту видны все поля и методы, а также их типы

Слайд 22





Класс CCar
Мы можем использовать поля, чтобы присвоить им значения и чтобы получить их значения.
Описание слайда:
Класс CCar Мы можем использовать поля, чтобы присвоить им значения и чтобы получить их значения.

Слайд 23





Класс CCar
Добавим еще один объект.
Итого у нас есть 2 объекта.
Описание слайда:
Класс CCar Добавим еще один объект. Итого у нас есть 2 объекта.

Слайд 24





Класс CCar
И еще один.
Сколько всего объектов у нас есть?
Описание слайда:
Класс CCar И еще один. Сколько всего объектов у нас есть?

Слайд 25





Класс CCar
Для удобства добавим к нашему классу метод – вывод всей информации о полях класса
Описание слайда:
Класс CCar Для удобства добавим к нашему классу метод – вывод всей информации о полях класса

Слайд 26





Класс CCar
Теперь пользоваться нашим классом стало намного удобнее
Описание слайда:
Класс CCar Теперь пользоваться нашим классом стало намного удобнее

Слайд 27





Класс CCar
Добавим метод посложнее
Описание слайда:
Класс CCar Добавим метод посложнее

Слайд 28





Класс CCar
Разгоним один автомобиль
Описание слайда:
Класс CCar Разгоним один автомобиль

Слайд 29





Класс CCar
И притормозим другой
Описание слайда:
Класс CCar И притормозим другой

Слайд 30





Класс CCar
Еще один вариант метода – с возвращаемым значением
Описание слайда:
Класс CCar Еще один вариант метода – с возвращаемым значением

Слайд 31





Класс CCar
И его использование
Описание слайда:
Класс CCar И его использование

Слайд 32





Класс CCar
Насколько один автомобиль едет быстрее, чем другой?
Метод работает с двумя объектами.
Описание слайда:
Класс CCar Насколько один автомобиль едет быстрее, чем другой? Метод работает с двумя объектами.

Слайд 33





Класс CCar
Здесь важно продумать, от какого объекта будет вызван метод (первый автомобиль) и какой объект будет подан в качестве аргумента (автомобиль, с которым сравниваем).
Вызов будет выглядеть так:
		car1.faster(car2)
Описание слайда:
Класс CCar Здесь важно продумать, от какого объекта будет вызван метод (первый автомобиль) и какой объект будет подан в качестве аргумента (автомобиль, с которым сравниваем). Вызов будет выглядеть так: car1.faster(car2)

Слайд 34





Класс CCar
А что он будет возвращать? На сколько км/ч быстрее
Описание слайда:
Класс CCar А что он будет возвращать? На сколько км/ч быстрее

Слайд 35





Класс CCar
Так это метод будет вызываться:
Описание слайда:
Класс CCar Так это метод будет вызываться:

Слайд 36





Класс CCar
Но если мы хотим упростить жизнь пользователю класса (т.е. классу Program), можно весь вывод перенести внутрь метода
Описание слайда:
Класс CCar Но если мы хотим упростить жизнь пользователю класса (т.е. классу Program), можно весь вывод перенести внутрь метода

Слайд 37





Подведение итогов. Метод
Метод – это функция, описанная внутри класса 
Метод вызывается от объекта класса и ему доступны поля объекта, который его вызвал
Метод может возвращать результат или иметь тип void
Метод может принимать аргументы (или не принимать)
Описание слайда:
Подведение итогов. Метод Метод – это функция, описанная внутри класса Метод вызывается от объекта класса и ему доступны поля объекта, который его вызвал Метод может возвращать результат или иметь тип void Метод может принимать аргументы (или не принимать)

Слайд 38





Конструкторы
такое создание объектов не слишком удобно
Описание слайда:
Конструкторы такое создание объектов не слишком удобно

Слайд 39





Конструкторы
Так было бы удобнее
Описание слайда:
Конструкторы Так было бы удобнее

Слайд 40





Конструкторы
Конструктор – особый метод класса, используемый при создании новых объектов данного класса.
Конструктор всегда имеет то же имя, что и класс.
Конструктор никогда не имеет возвращаемого значения.
Описание слайда:
Конструкторы Конструктор – особый метод класса, используемый при создании новых объектов данного класса. Конструктор всегда имеет то же имя, что и класс. Конструктор никогда не имеет возвращаемого значения.

Слайд 41





Конструкторы
Если класс не имеет ни одного конструктора, компилятор создает конструктор по умолчанию.
Описание слайда:
Конструкторы Если класс не имеет ни одного конструктора, компилятор создает конструктор по умолчанию.

Слайд 42





Конструкторы
Добавление хотя бы одного конструктора отменяет создание конструктора по умолчанию
Описание слайда:
Конструкторы Добавление хотя бы одного конструктора отменяет создание конструктора по умолчанию

Слайд 43





Перегруженные конструкторы
Описание слайда:
Перегруженные конструкторы

Слайд 44





Перегруженные конструкторы
При вызове конструктора появляется подсказка. Желательно видеть в подсказке осмысленные имена полей.
Описание слайда:
Перегруженные конструкторы При вызове конструктора появляется подсказка. Желательно видеть в подсказке осмысленные имена полей.

Слайд 45





Ключевое слово this
Чтобы отличать имена полей от имен аргументов, используется слово this.
Описание слайда:
Ключевое слово this Чтобы отличать имена полей от имен аргументов, используется слово this.

Слайд 46





Цепочки конструкторов
При создании автомобиля пользователь может указать нереальную скорость (-10 или 100000). 
Желательно добавить проверку. 
Придется добавлять проверку в каждый конструктор?
Описание слайда:
Цепочки конструкторов При создании автомобиля пользователь может указать нереальную скорость (-10 или 100000). Желательно добавить проверку. Придется добавлять проверку в каждый конструктор?

Слайд 47





Цепочки конструкторов
Изменим только один конструктор (самый подробный)
Описание слайда:
Цепочки конструкторов Изменим только один конструктор (самый подробный)

Слайд 48





Цепочки конструкторов
Описание слайда:
Цепочки конструкторов

Слайд 49





Свойства
Есть еще более грамотный способ обеспечить корректность полей класса – свойство.
Свойство – это метод (или пара метода), которые с точки зрения клиентского кода ведут себя как поле.
Такой подход позволят при работе с полями выполнять дополнительную обработку – проверку бизнес-правил (соответствие определенным критериям)
Описание слайда:
Свойства Есть еще более грамотный способ обеспечить корректность полей класса – свойство. Свойство – это метод (или пара метода), которые с точки зрения клиентского кода ведут себя как поле. Такой подход позволят при работе с полями выполнять дополнительную обработку – проверку бизнес-правил (соответствие определенным критериям)

Слайд 50





Свойства
private для поля
имя поля с _
public для свойства
внешнее имя
get и set
value
Описание слайда:
Свойства private для поля имя поля с _ public для свойства внешнее имя get и set value

Слайд 51





Свойства
Проверку на корректность лучше делать внутри свойства
Описание слайда:
Свойства Проверку на корректность лучше делать внутри свойства

Слайд 52





Свойства
Свойство выглядит иначе, чем поле
Описание слайда:
Свойства Свойство выглядит иначе, чем поле

Слайд 53





Свойства
get и set вызываются в зависимости от контекста
Описание слайда:
Свойства get и set вызываются в зависимости от контекста

Слайд 54





Свойства
Сработало ограничение на скорость свыше 300 км/ч
Описание слайда:
Свойства Сработало ограничение на скорость свыше 300 км/ч

Слайд 55





Что не так в нашем классе?
Описание слайда:
Что не так в нашем классе?

Слайд 56





Свойства
Мы вполне можем вернуть прежний вариант конструктора, ведь теперь здесь будет использоваться свойство.
Описание слайда:
Свойства Мы вполне можем вернуть прежний вариант конструктора, ведь теперь здесь будет использоваться свойство.

Слайд 57





Свойства
И проверка на корректность выполняется при вызове конструктора
Описание слайда:
Свойства И проверка на корректность выполняется при вызове конструктора

Слайд 58





Свойства
Лучшее место в классе для проверки бизнес-правил – это свойство!
Описание слайда:
Свойства Лучшее место в классе для проверки бизнес-правил – это свойство!

Слайд 59





Модификаторы доступа
Любой член класса может иметь один из модификаторов доступа:
private (по умолчанию) – доступ только внутри класса
public – для всех подключенных сборок
protected – только для своего класса и наследников
internal (по умолчанию)– только для своей сборки
Описание слайда:
Модификаторы доступа Любой член класса может иметь один из модификаторов доступа: private (по умолчанию) – доступ только внутри класса public – для всех подключенных сборок protected – только для своего класса и наследников internal (по умолчанию)– только для своей сборки

Слайд 60





Свойства
Используя модификаторы доступа можно управлять свойствами:
создать свойство только для чтения – клиент сможет только получать значение,но не изменять его
свойство только для записи – клиент сможет записывать значение, но не сможет прочитать
Описание слайда:
Свойства Используя модификаторы доступа можно управлять свойствами: создать свойство только для чтения – клиент сможет только получать значение,но не изменять его свойство только для записи – клиент сможет записывать значение, но не сможет прочитать

Слайд 61





Сбор мусора
Если не существует ни одной ссылки на объект, то предполагается, что этот объект больше не нужен, и занимаемая им память освобождается.
Описание слайда:
Сбор мусора Если не существует ни одной ссылки на объект, то предполагается, что этот объект больше не нужен, и занимаемая им память освобождается.

Слайд 62





Сбор мусора
Поскольку на сбор мусора требуется определенное время, динамическая система С# активизирует этот процесс только по необходимости или в специальных случаях.
Описание слайда:
Сбор мусора Поскольку на сбор мусора требуется определенное время, динамическая система С# активизирует этот процесс только по необходимости или в специальных случаях.

Слайд 63





Деструкторы 
Деструктор – метод, который должен вызываться непосредственно перед тем, как объект будет окончательно разрушен системой сбора мусора.
Описание слайда:
Деструкторы Деструктор – метод, который должен вызываться непосредственно перед тем, как объект будет окончательно разрушен системой сбора мусора.

Слайд 64





Деструкторы
~имя_класса() 
{
		// код деструктора
}
Описание слайда:
Деструкторы ~имя_класса() { // код деструктора }

Слайд 65





Деструкторы
Описание слайда:
Деструкторы

Слайд 66





Состав класса
Описание слайда:
Состав класса



Похожие презентации
Mypresentation.ru
Загрузить презентацию