Программирование
<<  Математическое программирование в экономике Разработка урока по русскому языку в 10 классе  >>
Объектная модель в Java
Объектная модель в Java
Полиморфизм
Полиморфизм
Картинки из презентации «Объектная модель в Java» к уроку информатики на тему «Программирование»

Автор: Карабцев. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Объектная модель в Java.pps» со всеми картинками в zip-архиве размером 97 КБ.

Объектная модель в Java

содержание презентации «Объектная модель в Java.pps»
Сл Текст Сл Текст
1Объектная модель в Java. Часть 1. 18родителя. Ком- пилятор не может определить
Объекты. Инкапсуляция, наследование, метод какого класса нужно вызывать, но JVM
полиморфизм. на основе объекта, на который указывает
2Понятие объекта. Объект - это мыслимая ссылка, определяет метод. Кафедра ЮНЕСКО
или реальная сущность, обладающая по НИТ.
характерным поведением, отличительными 19Статические элементы. class Human{
характеристиками и являющаяся важной в public static int total; }. class Human{
предметной области (Гради Буч). Введение public static int total; }. class Human{
объектов преследует две цели: • понимание public static int total; }. Прежде, чем
прикладной задачи (проблемы); • введение обратиться к полю name, необходимо
основы для реализации на компьютере. получить ссылку на экземпляр класса Human
Каждый объект имеет состояние, обладает (невозможно узнать имя вообще, т.к. оно
некоторым хорошо определенным поведением и принадлежит конкретному человеку). Это
уникальной идентичностью. Кафедра ЮНЕСКО поле принадлежит объекту. Ключевое слово
по НИТ. static объявляет “поле класса” (а не поле
3Свойства объекта. Состояние (state) - конкретного объекта). Данное поле не
совокупный результат поведения объекта, является характеристикой какого- то
одно из стабильных условий, в которых конкретного объекта, оно относится ко
объект может существовать. В любой всему классу. Данное поле существует
конкретный момент времени состояние тогда, когда не создано ни одного
объекта включает в себя перечень свойств экземпляра класса. Human h = new Human();
объекта и текущие значения этих свойств. h.name=“MyName”; Кафедра ЮНЕСКО по НИТ.
Поведение (behavior) - действия и реакции 20Статические элементы. Для обращения к
объекта, выраженные в терминах передачи такому полю ссылка не требуется,
сообщений и изменения состояния; видимая достаточно имени класса. Для удобства
извне и воспроизводимая активность разрешено обращаться к статическим полям и
объекта. Уникальность (identity) - природа через ссылки. Но данное обращение
объекта; то, что отличает его от других конвертируется компилятором к виду,
объектов. Кафедра ЮНЕСКО по НИТ. указанному выше. Пример. Human h1 = new
4Класс и объект. Объявление класса В Human(), h2 = new Humqn(); Human.total=5;
чем разница между классом и объектом? h1.total++; System.out.println(h2.total);
Чтобы работать с объектами, их нужно ------------------------------------ Res:
сначала создать и задать их исходное 6. Human h1 = new Human(), h2 = new
состояние! Кафедра ЮНЕСКО по НИТ. Humqn(); Human.total=5; h1.total++;
5Создание объекта. Для создания новых System.out.println(h2.total);
экземпляров класса используются ------------------------------------ Res:
конструкторы – специальные методы, 6. Human h1 = new Human(), h2 = new
предназначенные для создания и Humqn(); Human.total=5; h1.total++;
инициализации экземпляра класса. Имя System.out.println(h2.total);
конструктора всегда совпадает с именем ------------------------------------ Res:
класса. Чтобы создать объект, конструктор 6. Human h1 = new Human(), h2 = new
нужно объединить с операцией new. Кафедра Humqn(); Human.total=5; h1.total++;
ЮНЕСКО по НИТ. System.out.println(h2.total);
6Пример объявления класса и ------------------------------------ Res:
конструктора. Кафедра ЮНЕСКО по НИТ. 6. Human h1 = new Human(), h2 = new
7Наследование. Наследование Humqn(); Human.total=5; h1.total++;
(inheritance) - это отношение между System.out.println(h2.total);
классами, при котором класс использует ------------------------------------ Res:
структуру или поведение другого (одиночное 6. Независимо от того, сколько объектов
наследование) или других (множественное данного класса существует, поле total
наследование) классов. Наследование вводит существует в единственном экземпляре.
иерархию "общее/частное", в Кафедра ЮНЕСКО по НИТ.
которой подкласс наследует от одного или 21Статические элементы. Аналогично
нескольких более общих суперклассов. объявляются статические методы. Для вызова
Подклассы обычно дополняют или статического метода ссылки на объект не
переопределяют унаследованную структуру и требуется. Хотя для удобства обращения
поведение. Ключевое слово extends через ссылку разрешены, но принимается во
означает, что создается новый класс. внимание только тип ссылки. Кафедра ЮНЕСКО
Существующий класс называется родителем по НИТ.
(суперкласс), а новый класс – дочерним 22Статические элементы. Кроме полей и
(потомок, подкласс). Кафедра ЮНЕСКО по методов, статическими могут быть
НИТ. инициализаторы. Они называются
8Наследование. Пример. Задан класс инициализаторами класса. Их код
Employee (сотрудник организации), выполняется один раз во время загрузки
обладающий свойствами “имя”, ”зарплата”, класса в память JVM. Для инициализации
”дата приема”. Расширить данный класс статических полей можно пользоваться
классом Manager с дополнительным полем только стати- ческими методами и нельзя
bonus. Кафедра ЮНЕСКО по НИТ. обращаться к динамическим, т.к. в динами-
9Наследование. Пример. Каждый экземпляр ческом контексте всегда есть объект.
класса Manager имеет 4 поля – name, Кафедра ЮНЕСКО по НИТ.
salary, hiredate, bonus. Определяя 23Ключевое слово this. Если выполнение
подкласс, нужно указать лишь отличия между кода происходит в динамическом контексте,
подклассом и суперклассом. Разрабатывая то всегда есть объект, ассоциированный с
классы, следует помещать методы общего ним. В этом случае this возвращает ссылку
назначения в суперкласс, а более на данный объект. Внутри методов this
специальные – в подкласс. Не все методы возвращает ссылку на объект, у которого
родительского класса подходят для класса этот метод вызван. Кафедра ЮНЕСКО по НИТ.
Manager. В частности, метод getSalary() 24Ключевое слово this. Пример
должен возвращать сумму базовой зарплаты и “затемняющего” объявления: Пример
премии. Следовательно, нужно реализовать инициализации полей: В конструкторах для
новый метод, замещающий (overriding) метод явного вызова другого конструктора этого
класса родителя. Кафедра ЮНЕСКО по НИТ. же класса. Кафедра ЮНЕСКО по НИТ.
10Наследование. Пример. Кафедра ЮНЕСКО 25Ключевое слово this. Применение this:
по НИТ. Внутри метода при получении ссылки на
11Инкапсуляция. Инкапсуляция самого себя При затемняющем “объявлении”
(encapsulation) - это сокрытие реализации При объявлении полей, которые объявляются
класса и отделение его внутреннего позже В конструкторах для явного вызова
представления от внешнего (интерфейса). другого конструктора этого же класса.
При использовании Кафедра ЮНЕСКО по НИТ.
объектно-ориентированного подхода не 26Ключевое слово super. Применение
принято использовать прямой доступ к super: В первой строке конструктора класса
свойствам какого-либо класса из методов для вызова конструктора класса-предка
других классов. Для доступа к свойствам (рассматривали ранее) Для использования
класса принято использовать специальные родительских методов, которые были
методы этого класса для получения и переопределены в классах потомках. Кафедра
изменения его свойств. Открытые члены ЮНЕСКО по НИТ.
класса составляют внешний интерфейс 27Рекомендации по проектированию
объекта. Эта та функциональность, которая классов. Всегда храните данные в
доступна другим классам. Закрытыми обычно переменных, объявленных как private Всегда
объявляются все свойства класса, а так же инициализируйте данные Не используйте в
вспомогательные методы, которые являются классе слишком много простых типов Не для
деталями реализации и от которых не должны всех полей надо создавать методы доступа и
зависеть другие части системы. Благодаря модификации Используйте стандартную форму
сокрытию реализации за внешним интерфейсом определения класса Разбивайте на части
класса можно менять внутреннюю логику слишком большие классы Выбирайте для
отдельного класса, не меняя код остальных классов и методов осмысленные имена.
компонентов системы. Кафедра ЮНЕСКО по Кафедра ЮНЕСКО по НИТ.
НИТ. 28Преобразование типов данных.
12Полиморфизм. Полиморфизм Тождественное (identity) расширение
(polymorphism) - положение теории типов, примитивного типа (widening primitive)
согласно которому имена (например, сужение примитивного типа (narrowing
переменных) могут обозначать объекты primitive) расширение объектного типа
разных (но имеющих общего родителя) (widening reference) сужение объектного
классов. Следовательно, любой объект, типа (narrowing reference) преобразование
обозначаемый полиморфным именем, может к строке (string) запрещенные
по-своему реагировать на некий общий набор преобразования (forbidden). Кафедра ЮНЕСКО
операций. Слово полиморфизм греческого по НИТ.
происхождения и означает "имеющий 29Преобразование примитивных типов.
много форм". Пример. Предположим мы Расширение – переход от менее емкого типа
хотим написать векторный графический данных к более емкому (безопасное
редактор, в котором опишем в виде классов преобразование). byte => short =>
набор графических примитивов - Point, int => long => float => double
Line, Circle, Box, и т.д. У каждого из char => int => long => float
этих классов определим метод draw() для => double (т.к. char - беззнаковый).
отображения соответствующего примитива на Например, char c; int i=50; c = (char)i;
экране. Кафедра ЮНЕСКО по НИТ. Сужение – переход от более емкого типа к
13Полиморфизм. Кафедра ЮНЕСКО по НИТ. менее емкому ( риск потерять данные). byte
14Полиморфизм. Поля. При наследовании => char; short => byte => char;
часто возникают ситуации с одноименными char => byte => short; int =>
полями и методами. Необходимо понимать, byte => short => char; long =>
как одноименные поля и методы будут int => byte=> short => char =>
сосуществовать. Компилятор может опираться int; float => byte=> short =>
только на тип ссылки. Обе ссылки указывают char => int => long; double =>
на один и тот же объект, но имеют разные byte=> short => char => int =>
типы. Поле в наследнике скрыло родитель- long => float. Сужение дробного типа к
ское поле. Но к нему можно обратить- ся целочисленному проходит в два этапа –
через super.a или ((Parent)this).a. сначала перевод к целому типу (long или
Кафедра ЮНЕСКО по НИТ. int), а затем сужение целого типа. Кафедра
15Полиморфизм. Поля. Метод вызывается с ЮНЕСКО по НИТ.
помощью ссылки типа child, но вызывается 30Преобразование ссылочных типов.
метод, определенный в классе parent. Расширение – переход от более конкретного
Кафедра ЮНЕСКО по НИТ. типа к менее конкретному, т.е. от детей к
16Полиморфизм. Поля. Для статических родителям (всегда возможно). Кафедра
полей конфликтов, связанных с ЮНЕСКО по НИТ.
полиморфизмом, не существует. Пример: 31Преобразование ссылочных типов.
Нужно вспомнить, как компилятор Сужение – переход по дереву наследования
обрабатывает обращения к статическим полям вниз (может оказаться невозможным).
через ссылочные значения. Все определя- Проверка возможности перехода. Кафедра
ется типом ссылки! Пример слева ЮНЕСКО по НИТ.
эквивалентен след. Кафедра ЮНЕСКО по НИТ. 32Тип переменной и тип ее значения.
17Полиморфизм. Методы. Родительский Переменная характеризуется трем
метод полностью перекрыт. В этом ключевая параметрами: тип, имя, значение. Т.к.
особенность полиморфизма – потомки могут примитивные переменные хранят само
полностью изменять родительское поведение, значение, то тип переменной всегда
даже если обращение ведется по ссылке совпадает с типом значения. Значение любой
родительского типа. Но к родительскому переменной ссылочного типа – ссылка на
методу можно обратиться через наследника с объект определенного класса или null.
помощью super. Кафедра ЮНЕСКО по НИТ. Ссылочная переменная типа A может
18Полиморфизм. Методы. С помощью ссылки указывать на объекты, порожденные от A или
parent вызывается метод print() из класса его наследников. Кафедра ЮНЕСКО по НИТ.
Объектная модель в Java.pps
http://900igr.net/kartinka/informatika/obektnaja-model-v-java-248165.html
cсылка на страницу

Объектная модель в Java

другие презентации на тему «Объектная модель в Java»

«Модель» - Объект- Земля. Модели: Машин Технических устройств Зданий Электрических цепей. Примеры моделей. Воспитывающие: осуществление эстетического воспитания; способствовать обогащению внутреннего мира школьников. Модель Земли. География Биология Химия Астрономия Физика. Проверка усвоения пройденного материала.

«Модели менеджмента» - Тема: «Опыт менеджмента за рубежом. МЕНЕДЖМЕНТ Курс лекций. Вопросы лекции: Основные факторы формирования национальных моделей менеджмента. Главные элементы Западноевропейского опыта менеджмента. Сравнительная характеристика базовых моделей менеджмента. Восточная модель. Основные достижения американского менеджмента.

«Объект-модель» - Пример прикладного класса. Технические характеристики. Для каждого узла явное описание списка соседей. Независимая эволюция «внутри» подобласти в течении ?t. Все вершины графа пронумерованы 1,2,3,… Заключение. Построение параллельных вычислительных и программных моделей с помощью композиции объектов.

«Компьютерные модели» - Проведите компьютерный эксперимент и проверьте Ваш ответ. Компьютерная модель "Изобарный процесс". Чем отличаются движения тела в данных случаях? Выполните компьютерный эксперимент. В чем преимущества компьютерной модели перед натурным экспериментом ? Матрица 1. "Движение с постоянным ускорением".

«Математическая модель» - Действия над приближенными числами. 3. Погрешности метода. Физическая модель. Символьные вычисления на ЭВМ. Коррекция. Математическая модель. 1. Погрешность мат. модели. Систематизация. Декомпозиция. Постановка задачи. Тест. Процесс мат. моделирования. 2. Погрешности исходных данных. Очень часто истинное значение х неизвестно и приведенные выражения невозможно использовать.

«Модель представление» - Бинарное множество G задает связи между переменными. Первая часть вещественного числа - мантисса, определяет точность представления. модель, но обменивающиеся с моделью потоками информации или других ресурсов. Компьютер не позволяет работать с каждым битом в отдельности. При выходе числа за пределы диапазона вещественных чисел происходит переполнение.

Программирование

31 презентация о программировании
Урок

Информатика

130 тем
Картинки