🗊Презентация Классы. ООП в Java. Конструкторы. Блоки инициализации.

Категория: Образование
Нажмите для полного просмотра!
Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №1Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №2Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №3Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №4Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №5Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №6Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №7Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №8Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №9Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №10Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №11Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №12Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №13Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №14Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №15Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №16Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №17Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №18Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №19Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №20Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №21Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №22Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №23Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №24Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №25Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №26Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №27Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №28Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №29Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №30Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №31Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №32Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №33Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №34Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №35Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №36Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №37Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №38Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №39Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №40Классы. ООП в Java. Конструкторы. Блоки инициализации., слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему Классы. ООП в Java. Конструкторы. Блоки инициализации.. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Классы. ООП в Java. Конструкторы. Блоки инициализации.
Описание слайда:
Классы. ООП в Java. Конструкторы. Блоки инициализации.

Слайд 2





Пакеты
Определяют пространства имен типов.
Могут быть вложенными.
package com.my;
class A {...}
Полное имя класса: com.my.A
Описание слайда:
Пакеты Определяют пространства имен типов. Могут быть вложенными. package com.my; class A {...} Полное имя класса: com.my.A

Слайд 3





Использование пакетов
Импортирование пакета
import com.my;
A a = new A();
Использование полного имени типа
com.my.A a = new com.my.A();
Подпакеты не импортируются!
Описание слайда:
Использование пакетов Импортирование пакета import com.my; A a = new A(); Использование полного имени типа com.my.A a = new com.my.A(); Подпакеты не импортируются!

Слайд 4





Примеры пакетов
java.lang	базовые типы
java.util		структуры данных
java.io		потоки ввода/вывода
java.sql		JDBC
javax.swing	GUI
Описание слайда:
Примеры пакетов java.lang базовые типы java.util структуры данных java.io потоки ввода/вывода java.sql JDBC javax.swing GUI

Слайд 5





Виды классов по объявлению
class
enum
Описание слайда:
Виды классов по объявлению class enum

Слайд 6





Виды классов по расположению
Верхнего уровня
Вложенные
Анонимные
Локальные
Внутренние
Элементы классов
Описание слайда:
Виды классов по расположению Верхнего уровня Вложенные Анонимные Локальные Внутренние Элементы классов

Слайд 7





Экземпляр класса
Класс - это шаблон
Экземпляр класса - реализация шаблона
new - оператор создания экземпляра
Описание слайда:
Экземпляр класса Класс - это шаблон Экземпляр класса - реализация шаблона new - оператор создания экземпляра

Слайд 8





Что может содержать класс (элементы/члены класса)

Конструкторы
Блоки инициализации
Методы
Поля
Вложенные классы
Описание слайда:
Что может содержать класс (элементы/члены класса) Конструкторы Блоки инициализации Методы Поля Вложенные классы

Слайд 9





static элементы класса
Принадлежат классу, но не его экземплярам
class A {
	static int x;
	static void m() {...}
	static {...}
	static class B {...}
}
Описание слайда:
static элементы класса Принадлежат классу, но не его экземплярам class A { static int x; static void m() {...} static {...} static class B {...} }

Слайд 10





Конструкторы класса
Предназначены для создания объектов.
class Test {
    Test() {...}
}
Test t = new Test();
Описание слайда:
Конструкторы класса Предназначены для создания объектов. class Test { Test() {...} } Test t = new Test();

Слайд 11





Методы класса
Определяют функциональность объектов.
class Test {
	void m() {...}
}
Test t = new Test();
t.m();
Описание слайда:
Методы класса Определяют функциональность объектов. class Test { void m() {...} } Test t = new Test(); t.m();

Слайд 12





Поля класса
Определяют состояние объекта.
class Human {
	int  age = 30;
}
Human human = new Human();
System.out.println(human.age);
Описание слайда:
Поля класса Определяют состояние объекта. class Human { int age = 30; } Human human = new Human(); System.out.println(human.age);

Слайд 13





Блоки инициализации
Инициализируют объект.
class Test {
	{...}
}
Описание слайда:
Блоки инициализации Инициализируют объект. class Test { {...} }

Слайд 14





Классы - элементы классов
Объект может содержать (агрегировать) другие объекты.
class Student {
	class Brain {...}
	Brain brain;
}
Описание слайда:
Классы - элементы классов Объект может содержать (агрегировать) другие объекты. class Student { class Brain {...} Brain brain; }

Слайд 15





Наследование
class A extends B {...}
Потомок - всегда частный случай предка.
Наследуются все элементы класса B.
Потомок может заменить предка в любом контексте.
Описание слайда:
Наследование class A extends B {...} Потомок - всегда частный случай предка. Наследуются все элементы класса B. Потомок может заменить предка в любом контексте.

Слайд 16





Инкапсуляция
Ограничение доступа к элементам класса.
Сокрытие деталей внутренней реализации.
Цель: целостность объекта.
Описание слайда:
Инкапсуляция Ограничение доступа к элементам класса. Сокрытие деталей внутренней реализации. Цель: целостность объекта.

Слайд 17





Полиморфизм
class Base {    void m() {...}    }
class A extends Base {    void m() {...}    }
class B extends Base {    void m() {...}    }
Потомок может переопределить функциональность предка
Base base = new A();	Base base = new B();
base.m();			base.m();
Описание слайда:
Полиморфизм class Base { void m() {...} } class A extends Base { void m() {...} } class B extends Base { void m() {...} } Потомок может переопределить функциональность предка Base base = new A(); Base base = new B(); base.m(); base.m();

Слайд 18





Уровни доступа к элементам класса
private		внутри класса
default		внутри пакета
protected	внутри пакета и потомков
public		любой внешний код
default - по умолчанию
Описание слайда:
Уровни доступа к элементам класса private внутри класса default внутри пакета protected внутри пакета и потомков public любой внешний код default - по умолчанию

Слайд 19





Уровни доступа к классам
Классы верхнего уровня:
public	default
Вложенные классы:
public	protected 	default	private
Локальные классы:
default
Описание слайда:
Уровни доступа к классам Классы верхнего уровня: public default Вложенные классы: public protected default private Локальные классы: default

Слайд 20





Конструктор
Создает экземпляр класса
Имя совпадает с именем класса
Не может быть наследован
Не имеет типа возвращаемого результата
Может иметь любой уровень доступа
Описание слайда:
Конструктор Создает экземпляр класса Имя совпадает с именем класса Не может быть наследован Не имеет типа возвращаемого результата Может иметь любой уровень доступа

Слайд 21





Конструктор по умолчанию
Конструктор без параметров:
class A {	public A(){...}	}
Если в классе не определен ни один конструктор, то компилятор создаст и вставит в байт код конструктор по умолчанию.
Т.о. любой класс содержит конструктор
Описание слайда:
Конструктор по умолчанию Конструктор без параметров: class A { public A(){...} } Если в классе не определен ни один конструктор, то компилятор создаст и вставит в байт код конструктор по умолчанию. Т.о. любой класс содержит конструктор

Слайд 22





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

Слайд 23





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

Слайд 24





Вызов конструктора предка из конструктор потомка
Любой конструктор всегда содержит первой строкой вызов конструктор предка.
public A(int x) {
	super(9, "abcd");
}
Если вызов явно не прописан, то компилятор вставит в байт код вызов super();
Описание слайда:
Вызов конструктора предка из конструктор потомка Любой конструктор всегда содержит первой строкой вызов конструктор предка. public A(int x) { super(9, "abcd"); } Если вызов явно не прописан, то компилятор вставит в байт код вызов super();

Слайд 25





Перегрузка методов
class A {
	void m() {...}
	void m(int x) {...}
}
Конструкторы класса всегда перегружены.
Описание слайда:
Перегрузка методов class A { void m() {...} void m(int x) {...} } Конструкторы класса всегда перегружены.

Слайд 26





Перекрытие методов
Позволяет реализовать полиморфизм
class A {
	void m() {...}
}
class B extends A {
	void m() {...}
}
Описание слайда:
Перекрытие методов Позволяет реализовать полиморфизм class A { void m() {...} } class B extends A { void m() {...} }

Слайд 27





Сокрытие статических методов
class A {
	static void m() {...}
}
class B extends A {
	static void m() {...}
}
Полиморфизма нет.
Описание слайда:
Сокрытие статических методов class A { static void m() {...} } class B extends A { static void m() {...} } Полиморфизма нет.

Слайд 28





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

Слайд 29





Значения полей по умолчанию
примитивные типы числовые 	==> 0
boolean	==> false
ссылочные ==> null
Описание слайда:
Значения полей по умолчанию примитивные типы числовые ==> 0 boolean ==> false ссылочные ==> null

Слайд 30





Инициализация полей
При объявлении
В конструкторе
В блоках инициализации
В методах
Описание слайда:
Инициализация полей При объявлении В конструкторе В блоках инициализации В методах

Слайд 31





Ключевое слово final
Четыре контекста:
класс - нельзя наследовать
метод - нельзя перекрыть
поле - константа
локальная переменная - константа
Описание слайда:
Ключевое слово final Четыре контекста: класс - нельзя наследовать метод - нельзя перекрыть поле - константа локальная переменная - константа

Слайд 32





final поля
Константы.  Должны быть определены одним из следующих образом:
1) при объявлении
2) в конструкторе
3) в блоке инициализации
Если константа статическая, то пишут в верхнем регистре через подчеркивание:
	static final int SOME_CONST = 2;
Описание слайда:
final поля Константы. Должны быть определены одним из следующих образом: 1) при объявлении 2) в конструкторе 3) в блоке инициализации Если константа статическая, то пишут в верхнем регистре через подчеркивание: static final int SOME_CONST = 2;

Слайд 33





Локальные константы
void m() {
	final int x;
	final String s = "ABC";
}
Описание слайда:
Локальные константы void m() { final int x; final String s = "ABC"; }

Слайд 34





Абстрактные классы
Класс объявленный со спецификатором abstract
Может содержать абстрактные методы (методы без реализации).
abstract class A {
	abstract void m();
}
Описание слайда:
Абстрактные классы Класс объявленный со спецификатором abstract Может содержать абстрактные методы (методы без реализации). abstract class A { abstract void m(); }

Слайд 35





Свойства абстрактного класса
Нельзя создать экземпляр, но можно объявить переменную данного типа
Может иметь конструкторы
Может иметь не абстрактные методы
Может не содержать абстрактных методов
Описание слайда:
Свойства абстрактного класса Нельзя создать экземпляр, но можно объявить переменную данного типа Может иметь конструкторы Может иметь не абстрактные методы Может не содержать абстрактных методов

Слайд 36





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

Слайд 37





Процесс создания объекта.
A    extends    B    extends    C
При создании объекта: new A()
1) выполняются статические блоки инициализации C, B, A (если эти классы  еще не загружены в JVM);
2) для классов C, B, A последовательно выполняются:
	а) блок инициализации
	б) конструктор
Описание слайда:
Процесс создания объекта. A extends B extends C При создании объекта: new A() 1) выполняются статические блоки инициализации C, B, A (если эти классы еще не загружены в JVM); 2) для классов C, B, A последовательно выполняются: а) блок инициализации б) конструктор

Слайд 38





Практическое задание

См. далее, на следующих слайдах.
Это задание "для себя", т.е. не обязательно его делать, НО ЖЕЛАТЕЛЬНО!
Первое из 4-х заданий, кот. нужно сделать, будет дано позже через багтреккер.
Если будут какие-то вопросы (конкретные и лаконичные!), могу ответить вконтакте: http://vk.com/id32721652
Описание слайда:
Практическое задание См. далее, на следующих слайдах. Это задание "для себя", т.е. не обязательно его делать, НО ЖЕЛАТЕЛЬНО! Первое из 4-х заданий, кот. нужно сделать, будет дано позже через багтреккер. Если будут какие-то вопросы (конкретные и лаконичные!), могу ответить вконтакте: http://vk.com/id32721652

Слайд 39





1. Класс "Окружность". 
1. Класс "Окружность". 
Класс должен иметь следующие поля:
1) x, y - координаты центра окружности;
2) radius - радиус окружности.
Класс должен иметь следующие методы:
1) передвинуть окружность на dx и dy;
2) проверить попадание заданной точки внутрь данной окружности;
3) проверить попадание другой окружности внутрь данной;
4) вывести на экран параметры окружности.
Описание слайда:
1. Класс "Окружность". 1. Класс "Окружность". Класс должен иметь следующие поля: 1) x, y - координаты центра окружности; 2) radius - радиус окружности. Класс должен иметь следующие методы: 1) передвинуть окружность на dx и dy; 2) проверить попадание заданной точки внутрь данной окружности; 3) проверить попадание другой окружности внутрь данной; 4) вывести на экран параметры окружности.

Слайд 40





2. Класс "Вектор" для хранения ссылок на объекты.
2. Класс "Вектор" для хранения ссылок на объекты.
Класс должен иметь следующие поля:
1) массив ссылок, который может расти;
2) количество ссылок в массиве.
Класс должен иметь следующие методы:
1) очистить весь массив;
2) добавить ссылку в массив;
3) Получить j-й элемент;
4) Удалить j-й элемент;
5) вывести значения массива на экран.
Описание слайда:
2. Класс "Вектор" для хранения ссылок на объекты. 2. Класс "Вектор" для хранения ссылок на объекты. Класс должен иметь следующие поля: 1) массив ссылок, который может расти; 2) количество ссылок в массиве. Класс должен иметь следующие методы: 1) очистить весь массив; 2) добавить ссылку в массив; 3) Получить j-й элемент; 4) Удалить j-й элемент; 5) вывести значения массива на экран.

Слайд 41





3. Класс "Матрица".
3. Класс "Матрица".
Класс должен иметь следующие поля:
1) двумерный массив вещественных чисел;
2) количество строк и столбцов в матрице.
Класс должен иметь следующие методы:
1) сложение с другой матрицей;
2) умножение на число;
3) умножение на другую матрицу;
4) транспонирование;
5) вывод на печать.
Описание слайда:
3. Класс "Матрица". 3. Класс "Матрица". Класс должен иметь следующие поля: 1) двумерный массив вещественных чисел; 2) количество строк и столбцов в матрице. Класс должен иметь следующие методы: 1) сложение с другой матрицей; 2) умножение на число; 3) умножение на другую матрицу; 4) транспонирование; 5) вывод на печать.



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