Разделы презентаций


Абстрактные классы, интерфейсы. Вложенные классы, анонимные, локальные.

Содержание

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

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

Слайд 1АБСТРАКТНЫЕ КЛАССЫ, ИНТЕРФЕЙСЫ. ВЛОЖЕННЫЕ КЛАССЫ, АНОНИМНЫЕ, ЛОКАЛЬНЫЕ.

АБСТРАКТНЫЕ КЛАССЫ, ИНТЕРФЕЙСЫ. ВЛОЖЕННЫЕ КЛАССЫ, АНОНИМНЫЕ, ЛОКАЛЬНЫЕ.

Слайд 2Абстрактные классы
Класс объявленный со спецификатором abstract

Может содержать абстрактные методы (методы

без реализации).

abstract class A {
abstract void m();
}

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

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

типа

Может иметь конструкторы

Может содержать обычные методы

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

Слайд 4Предназначение абстрактных классов

Интерфейс к семейству классов.

База для реализации полиморфизма.

Неабстрактные потомки

обязаны реализовать абстрактные методы.

Предназначение абстрактных классовИнтерфейс к семейству классов.База для реализации полиморфизма.Неабстрактные потомки обязаны реализовать абстрактные методы.

Слайд 5Абстрактный метод
Метод, который не содержит реализации.
Обязан быть объявлен со спецификатором
abstract

public

abstract void m();

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

Слайд 6Вложенные классы
Элементы класса
статические
нестатические
Локальные
анонимные
с указанием имени

Вложенные классыЭлементы классастатическиенестатическиеЛокальныеанонимныес указанием имени

Слайд 7Примеры классов
class A { // класс верхнего уровня
void m(SomeClass p)

{…}
class B {} // класс элемент класса
void m() {
class C

{} // С – локальный класс
m(new SomeClass() { // ан. класс
});
}
}
Примеры классовclass A { // класс верхнего уровня	void m(SomeClass p) {…}	class B {} // класс элемент класса	void

Слайд 8Классы - элементы классов
Могут иметь модификаторы/спецификаторы:
abstract
static
final
private/protected/default/public

Классы - элементы классовМогут иметь модификаторы/спецификаторы:abstractstaticfinalprivate/protected/default/public

Слайд 9Локальные классы
Классы, объявленные внутри методов, конструкторов, блоках инициализации.

Могут быть: abstract,

final

Уровень доступа - default, по умолчанию, ограничен телом блока, в

котором объявлен класс.
Локальные классыКлассы, объявленные внутри методов, конструкторов, блоках инициализации.Могут быть: abstract, finalУровень доступа - default, по умолчанию, ограничен

Слайд 10Анонимные классы
Класс, который не имеет имени.

Всегда расширяет класс или реализует

интерфейс.

Используется при создании объектов.

Анонимные классыКласс, который не имеет имени.Всегда расширяет класс или реализует интерфейс.Используется при создании объектов.

Слайд 11Пример анонимного класса
class T {}

T t = new T() {
void

m() {...}
}

t - переменная типа T, кот. ссылается на экземпляр

анонимного класса, наследованного от T.
Пример анонимного классаclass T {}T t = new T() {	void m() {...}}t - переменная типа T, кот.

Слайд 12Свойства вложенных классов
Не могут объявлять статических полей (кроме констант), методов

и классов (но могут наследовать их.

Имеют доступ к элементам внешнего

класса.

Имеют доступ к локальным переменным и параметрам метода (они должны быть объявлены как final).
Свойства вложенных классовНе могут объявлять статических полей (кроме констант), методов и классов (но могут наследовать их.Имеют доступ

Слайд 13Создание объектов внутреннего класса
(нестатические элементы классов)

Расширенный синтаксис оператора new

class A

{
class B {}
}
A a = new A();
A.B b = a.new

B();

Создание объектов внутреннего класса(нестатические элементы классов)Расширенный синтаксис оператора newclass A {	class B {}}A a = new A();A.B

Слайд 14Создание объектов вложенных статических классов

class A {
static class B {}
}

A.B

b = new A.B();

Создание объектов вложенных статических классовclass A {	static class B {}}A.B b = new A.B();

Слайд 15Доступ к объекту внешнего класса (this) из внутреннего

class A {
private

int x;
class B {
int x = A.this.x;
}
}

Доступ к объекту внешнего класса (this) из внутреннегоclass A {		private int x;		class B {		int x = A.this.x;	}	}

Слайд 16Имя файла с байт-кодом вложенного класса

Для каждого класса компилятор (javac)

создает отдельный файл класса.


Outer$Inner.class

Имя файла с байт-кодом вложенного классаДля каждого класса компилятор (javac) создает отдельный файл класса.Outer$Inner.class

Слайд 17Интерфейсы
Определяют границы взаимодействия между объектами.

Определяют абстракцию, реализацию которой предоставляет имплементирующая

интерфейс сторона.

ИнтерфейсыОпределяют границы взаимодействия между объектами.Определяют абстракцию, реализацию которой предоставляет имплементирующая интерфейс сторона.

Слайд 18Использование интерфейсов
Класс может реализовывать интерфейс

Можно объявить интерфейсную переменную

Интерфейс может наследовать

несколько других интерфейсов

Использование интерфейсовКласс может реализовывать интерфейсМожно объявить интерфейсную переменнуюИнтерфейс может наследовать несколько других интерфейсов

Слайд 19Элементы интерфейса
поля (public static final)
методы (public abstract)
интерфейсы (public static)
классы (public

static)

Указанные модификаторы и спецификаторы можно не ставить.

Элементы интерфейсаполя (public static final)методы (public abstract)интерфейсы (public static)классы (public static)Указанные модификаторы и спецификаторы можно не ставить.

Слайд 20Поля интерфейса
константы (final)
статические (static)
публичные (public)
должны быть проинициализированы при объявлении

Поля интерфейсаконстанты (final)статические (static)публичные (public)должны быть проинициализированы при объявлении

Слайд 21Методы интерфейса
абстрактные (abstract)
публичные (public)

Методы интерфейсаабстрактные (abstract)публичные (public)

Слайд 22Вложенные классы и интерфейсы- элементы интерфейсов

Статические

Вложенные классы и интерфейсы- элементы интерфейсовСтатические

Слайд 23Множественное наследование интерфейсов

interface Interf extends Interf1, Interf2 {
...
}

Множественное наследование интерфейсовinterface Interf extends Interf1, Interf2 {	...}

Слайд 24Реализация интерфейса
class A implements Interf1, Interf2 {
...
}

Реализация интерфейсаclass A implements Interf1, Interf2 {	...}

Слайд 25Реализация интерфейсов и расширение класса

class A extends B implements Interf1,

Interf2 {
...
}

Реализация интерфейсов и расширение классаclass A extends B implements Interf1, Interf2 {	...}

Слайд 26Оператор instanceof для интерфейсов

interface I {}
class A implements I {}
...
boolean

f = new A() instanceof I; // f = true



Оператор instanceof для интерфейсовinterface I {}class A implements I {}...boolean f = new A() instanceof I; //

Слайд 27Частичная реализация интерфейса
interface I {
void m();
void m2();
}
// ошибка компиляции, A

is not abstract!
class A implements I {
public void m() {}
}

Частичная реализация интерфейсаinterface I {	void m();	void m2();}// ошибка компиляции, A is not abstract!class A implements I {	public

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика