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

Категория: Образование
Нажмите для полного просмотра!
03 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №103 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №203 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №303 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №403 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №503 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №603 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №703 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №803 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №903 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1003 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1103 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1203 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1303 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1403 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1503 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1603 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1703 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1803 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №1903 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2003 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2103 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2203 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2303 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2403 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2503 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2603 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2703 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2803 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №2903 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3003 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3103 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3203 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3303 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3403 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3503 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3603 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3703 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3803 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №3903 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4003 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4103 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4203 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4303 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4403 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4503 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №4603 Классы. ООП в Java. Конструкторы. Блоки инициализации, слайд №47

Содержание

Вы можете ознакомиться и скачать презентацию на тему 03 Классы. ООП в Java. Конструкторы. Блоки инициализации. Доклад-сообщение содержит 47 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций 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 a = new A();
Использование полного имени типа
com.my.A a = new com.my.A();
Подпакеты не импортируются!
Описание слайда:
Использование пакетов Импортирование пакета import com.my.A; 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() {...}
}
class B extends A {
	void m() {...}
}
Описание слайда:
Перекрытие методов Позволяет реализовать полиморфизм class A { void m() {...} } class B extends A { void m() {...} }

Слайд 26





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

Слайд 27





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

Слайд 28





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

Слайд 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





Класс Class
Класс Class является метаклассом для всех классов Java.
Когда JVM загружает файл .class, который описывает некоторый тип, в памяти создается объект класса Class, который будет хранить это описание.
Описание слайда:
Класс Class Класс Class является метаклассом для всех классов Java. Когда JVM загружает файл .class, который описывает некоторый тип, в памяти создается объект класса Class, который будет хранить это описание.

Слайд 39


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

Слайд 40





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

Слайд 41





Метод getClass()
Этот метод возвращает объект класса Class, который описывает класс, от которого был порожден этот объект. Результатом будет строка: java. lang. String
В отличие от оператора instanceof, метод getClass() всегда возвращает точно тот класс, от которого был порожден объект.
Описание слайда:
Метод getClass() Этот метод возвращает объект класса Class, который описывает класс, от которого был порожден этот объект. Результатом будет строка: java. lang. String В отличие от оператора instanceof, метод getClass() всегда возвращает точно тот класс, от которого был порожден объект.

Слайд 42





Метод equals()
служит для сравнения объектов по значению, а не по ссылке
имеет один аргумент типа Object 
возвращает boolean
Описание слайда:
Метод equals() служит для сравнения объектов по значению, а не по ссылке имеет один аргумент типа Object возвращает boolean

Слайд 43





Метод toString()
позволяет получить текстовое описание любого объекта
можно переопределить 
Для класса Object и его наследников, не переопределивших toString(), метод возвращает следующее выражение:
getClass().getName()+"@"+hashCode()
Описание слайда:
Метод toString() позволяет получить текстовое описание любого объекта можно переопределить Для класса Object и его наследников, не переопределивших toString(), метод возвращает следующее выражение: getClass().getName()+"@"+hashCode()

Слайд 44





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

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

Слайд 45





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) вывести на экран параметры окружности.

Слайд 46





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

Слайд 47





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



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