Презентация Объектно-ориентированное программирование. Язык программирования Java онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Объектно-ориентированное программирование. Язык программирования Java абсолютно бесплатно. Урок-презентация на эту тему содержит всего 52 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Объектно-ориентированное программирование. Язык программирования Java
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:52 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:877.17 kB
- Просмотров:68
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![Этапы программного решения](/documents_6/a248cfc426a0569b0f4e5342821a9703/img2.jpg)
Содержание слайда: Этапы программного решения задачи
Создание модели, определение данных для предстоящей обработки
Разработка алгоритма: определение операций над данными и последовательности шагов по преобразованию текущего состояния модели в следующее
Формулировка модели и алгоритма на языке программирования
№6 слайд
![История ООП Около Появление](/documents_6/a248cfc426a0569b0f4e5342821a9703/img5.jpg)
Содержание слайда: История ООП
Около 1960
Появление близких к ООП идей в языках с другими парадигмами (Lisp, ALGOL)
1967
Simula – первый действительно объектно-ориентированный язык, типизация статическая
1969-1980
SmallTalk – динамическая типизация, рефлексия
1983
Objective-C, C++ – добавление идей ООП в язык C
1985
Eiffel – полностью объектно-ориентированный язык, взаимосвязанный с процессом разработки ПО
№8 слайд
![Откуда берутся объекты?..](/documents_6/a248cfc426a0569b0f4e5342821a9703/img7.jpg)
Содержание слайда: Откуда берутся объекты?..
Прототипное программирование
Объект можно создать из ничего
Объект можно создать клонированием существующих объектов
Примеры языков: JavaScript, Perl
Класс-ориентированное программирование
Объект создаётся как экземпляр класса
Примеры языков: С++, Java, C#
№9 слайд
![Класс Класс как сущность](/documents_6/a248cfc426a0569b0f4e5342821a9703/img8.jpg)
Содержание слайда: Класс
Класс как сущность является объединением объектов с одинаковым набором свойств и общим поведением
Класс как элемент программы описывает структуру состояния объектов и их поведение
Поля класса описывают элементы состояния объекта,
по сути являются переменными
Методы класса описывают элементы поведения объекта, по сути являются функциями
Объект принадлежит классу, является экземпляром класса
Программа в ходе написания представляет собой набор классов
№10 слайд
![Обычные и статические](/documents_6/a248cfc426a0569b0f4e5342821a9703/img9.jpg)
Содержание слайда: Обычные и статические элементы класса
Описанные в классе элементы (поля и методы) принадлежат объекту (находятся в контексте объекта)
У каждого объекта класса будет свой экземпляр поля
Вызванный у объекта метод будет работать с данными именно этого объекта
Статические элементы класса (поля и методы) принадлежат классу (находятся в контексте класса)
Каждого статического поля существует ровно один экземпляр
Статические методы находятся в классе, но не имеют объекта,
с данными которого они работают
№11 слайд
![Конструкторы и деструкторы](/documents_6/a248cfc426a0569b0f4e5342821a9703/img10.jpg)
Содержание слайда: Конструкторы и деструкторы
Конструктор
Особый метод класса, создающий объект и подготавливающий его для использования
Обычно имя совпадает с именем класса
Фактически возвращаемый тип – сам класс, формально это часто даже не пишут
Может иметь параметры для инициализации состояния объекта
Деструктор
Особый метод класса, вызывающийся при уничтожении объекта
Предназначен для высвобождения ресурсов (выделенная память, открытые файлы и т.д.), занятых объектом, а также для изменения связей с другими объектами
№12 слайд
![Основные принципы ООП](/documents_6/a248cfc426a0569b0f4e5342821a9703/img11.jpg)
Содержание слайда: Основные принципы ООП
Инкапсуляция
объединение данных и методов их обработки в одну сущность, приводящее к сокрытию реализации класса и отделению его внутреннего представления от внешнего
Наследование
отношение между классами, при котором один класс использует структуру или поведение другого (одиночное наследование) или других (множественное наследование) классов
Полиморфизм
способность объекта соответство-
вать во время выполнения двум
или более возможным типам
№13 слайд
![Достоинства ООП Упрощение](/documents_6/a248cfc426a0569b0f4e5342821a9703/img12.jpg)
Содержание слайда: Достоинства ООП
Упрощение разработки
Разделение функциональности, локализация кода, инкапсуляция
Возможность создания расширяемых систем
Обработка разнородных структур данных, изменение поведения на этапе выполнения, работа с наследниками
Легкость модернизации с сохранением совместимости
№19 слайд
![Функциональность пакетов](/documents_6/a248cfc426a0569b0f4e5342821a9703/img18.jpg)
Содержание слайда: Функциональность пакетов
Позволяют группировать взаимосвязанные классы и интерфейсы в единое целое
Способствуют созданию пространств имен, позволяющих избежать конфликтов идентификаторов, относящихся к различным типам
Обеспечивают дополнительные средства защиты элементов кода
№20 слайд
![Способы реализации и доступ к](/documents_6/a248cfc426a0569b0f4e5342821a9703/img19.jpg)
Содержание слайда: Способы реализации
и доступ к пакетам
Пакеты могут быть реализованы:
в виде структуры каталогов с файлами классов
в виде jar-архива
Путь к используемым пакетам указывается:
непосредственно при запуске JVM с помощью ключей
через переменную окружения CLASSPATH
(по умолчанию CLASSPATH="")
№23 слайд
![Понятие модуля компиляции](/documents_6/a248cfc426a0569b0f4e5342821a9703/img22.jpg)
Содержание слайда: Понятие модуля компиляции
Модуль компиляции хранится в .java файле и является единичной порцией входных данных для компилятора
Состоит из:
объявления пакета
(указывает принадлежность типов в модуле к пакету)
package mypackage;
выражений импортирования
(добавляют другие классы в область видимости)
import java.net.Socket;
import java.io.*;
объявлений верхнего уровня
(описания классов и интерфейсов)
№24 слайд
![Правила именования Пакеты](/documents_6/a248cfc426a0569b0f4e5342821a9703/img23.jpg)
Содержание слайда: Правила именования
Пакеты
java.lang, javax.swing, ru.ssau.tk
Типы
Student, ArrayIndexOutOfBoundException
Cloneable, Runnable, Serializable
Поля
value, enabled, distanceFromShop
Методы
getValue, setValue, isEnabled, length, toString
Поля-константы
PI, SIZE_MIN, SIZE_MAX, SIZE_DEF
Локальные переменные
№26 слайд
![Модификаторы объявления](/documents_6/a248cfc426a0569b0f4e5342821a9703/img25.jpg)
Содержание слайда: Модификаторы объявления класса
public
Признак общедоступности класса (класс виден вне пакета)
abstract
Признак абстрактности класса (класс не полностью реализует поведение)
final
Завершенность класса (класс не допускает наследования)
strictfp
Повышенные требования к операциям с плавающей точкой (результаты операций одинаковые на различных платформах)
№27 слайд
![Поля класса По сути являются](/documents_6/a248cfc426a0569b0f4e5342821a9703/img26.jpg)
Содержание слайда: Поля класса
По сути являются переменными: обладают типом, именем и значением
Объявление поля
[модификаторы] <тип> {<имя> [= <инициализирующее выражение>]};
Примеры
double sum = 2.5 + 3.7, a;
public double val = sum + 2 * Math.sqrt(2);
Если поле явно не инициализируются, ему присваивается значение по умолчанию его типа (0, false или null)
№28 слайд
![Модификаторы полей класса](/documents_6/a248cfc426a0569b0f4e5342821a9703/img27.jpg)
Содержание слайда: Модификаторы полей класса
модификаторы доступа
static
поле статично (принадлежит контексту класса, а не объекта)
final
поле не может изменять свое значение после инициализации
transient
поле не сериализуется (влияет только на механизмы сериализации)
volatile
усиливает требования к работе с полем в многопоточных программах
№30 слайд
![Модификаторы методов класса](/documents_6/a248cfc426a0569b0f4e5342821a9703/img29.jpg)
Содержание слайда: Модификаторы методов класса
Модификаторы доступа
abstract
абстрактность метода (метод объявляется, но тело при этом не описывается)
static
статичность метода (метод принадлежит контексту класса, а не объекта)
final
завершенность метода (метод не может быть переопределен при наследовании)
№31 слайд
![Модификаторы методов класса](/documents_6/a248cfc426a0569b0f4e5342821a9703/img30.jpg)
Содержание слайда: Модификаторы методов класса
synchronized
синхронизированность метода (особенности вызова метода в многопоточных приложениях)
native
«нативность» метода (тело метода не описывается, при вызове вызывается метод из native-библиотеки)
strictfp
повышенные требования к операциям с плавающей точкой (результаты операций одинаковые на различных платформах)
№32 слайд
![Особенности методов Для](/documents_6/a248cfc426a0569b0f4e5342821a9703/img31.jpg)
Содержание слайда: Особенности методов
Для нестатических методов вызов через ссылку на объект или в контексте объекта
reference.method();
methodReturningReference().method();
Для статических методов вызов через имя типа, через ссылку на объект или в контексте класса
ClassName.staticMethod();
reference.staticMethod();
staticMethodReturningReference().method();
Наличие круглых скобок при вызове обязательно, т.к. они являются оператором вызова метода
№33 слайд
![Особенности методов На время](/documents_6/a248cfc426a0569b0f4e5342821a9703/img32.jpg)
Содержание слайда: Особенности методов
На время выполнения метода управление передается в тело метода
Возвращается одно значение
return someValue;
Аргументы передаются по значению,
т.е. значения параметров копируются в стек:
для примитивных типов копируются сами значения
для ссылочных типов копируется значение ссылки
Перегруженными являются методы
с одинаковыми именами и различными по типу списками параметров
№37 слайд
![Особенности конструкторов Для](/documents_6/a248cfc426a0569b0f4e5342821a9703/img36.jpg)
Содержание слайда: Особенности конструкторов
Для конструкторов разрешено использование только модификаторов доступа
При написании конструктор не имеет возвращаемого типа
Оператор возврата return прекращает выполнение текущего конструктора
Конструкторы могут быть перегружены
Конструкторы могут вызывать друг друга с помощью ключевого слова this в первой строке конструктора
№38 слайд
![Особенности конструкторов](/documents_6/a248cfc426a0569b0f4e5342821a9703/img37.jpg)
Содержание слайда: Особенности конструкторов
Если в классе явно не описан ни один конструктор, автоматически создается
т.н. конструктор по умолчанию, не имеющий параметров
Если в классе описан хотя бы один конструктор, то автоматически конструктор по умолчанию
не создается
Также конструктором по умолчанию называют конструктор, не имеющий параметров
№40 слайд
![Деструкторы? Явное](/documents_6/a248cfc426a0569b0f4e5342821a9703/img39.jpg)
Содержание слайда: Деструкторы?
Явное уничтожение объектов является серьёзным источником ошибок: если после вызова деструктора где-то осталась ссылка (указатель) на объект, ее использование
и приведет к возникновению ошибки
В Java деструкторов нет, вместо них применяется механизм автоматической сборки мусора
Задачу высвобождения ресурсов обычно выполняет простой метод объекта
с говорящим названием (close(), dispose() и т.д.)
№41 слайд
![Автоматическая сборка мусора](/documents_6/a248cfc426a0569b0f4e5342821a9703/img40.jpg)
Содержание слайда: Автоматическая сборка мусора
В случае нехватки памяти для создания очередного объекта виртуальная машина находит недостижимые объекты и удаляет их
Процесс сборки мусора можно инициировать принудительно
Для явного удаления объекта следует утратить все ссылки на этот объект и инициировать
сбор мусора
Взаимодействие со сборщиком
осуществляется через системные классы
java.lang.System
и java.lang.Runtime
№42 слайд
![Блоки инициализации Если](/documents_6/a248cfc426a0569b0f4e5342821a9703/img41.jpg)
Содержание слайда: Блоки инициализации
Если некоторые действия по инициализации должны выполняться в любом варианте создания объекта, удобнее использовать блоки инициализации
Тело блока инициализации заключается
в фигурные скобки и располагается на одном уровне с полями и методами
При создании объекта сначала выполняются инициализирующие выражения полей и блоки инициализации (в порядке их описания в теле класса), а потом тело конструктора
№49 слайд
![Реализация инкапсуляции](/documents_6/a248cfc426a0569b0f4e5342821a9703/img48.jpg)
Содержание слайда: Реализация инкапсуляции
Значения публичных полей могут быть изменены извне объекта без его контроля
Само по себе публичное поле – не нарушение инкапсуляции, пока…
С его элементом состояния не связано поведение
На значение не накладываются ограничения
Его значение не связано со значениями других полей
№52 слайд
![Дополнительные источники](/documents_6/a248cfc426a0569b0f4e5342821a9703/img51.jpg)
Содержание слайда: Дополнительные источники
Object-oriented programming [Электронный ресурс]. – Режим доступа: http://en.wikipedia.org/wiki/Object-oriented_programming, дата доступа: 08.02.13.
Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с.
Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с.
Хорстманн, К. Java 2. Библиотека профессионала. Том 1. Основы [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 816 с.
Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с.
JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 08.02.2013.
JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 08.02.2013.
Скачать все slide презентации Объектно-ориентированное программирование. Язык программирования Java одним архивом:
Похожие презентации
-
Кодирование основных типов алгоритмических структур на языках объектно — ориентированного и процедурного программирования
-
Объектно-ориентированное программирование на алгоритмическом языке С
-
Объектно-ориентированное программирование. Введение в язык C
-
Объектно-ориентированное программирование. Языки C и C
-
Исследование и анализ задачи. объектно-ориентированный язык программирования
-
Объектно-ориентированное программирование в Java
-
Объектно-ориентированное программирование. Язык С
-
Разработка системы слежения за состоянием серверов средствами объектно-ориентированного языка программирования Python
-
Объектно-ориентированные особенности языка Java
-
Компонентная модель в объектно-ориентированном программировании. Технология JavaBeans