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


Item 18: Prefer interfaces to abstract classes

Existing classes can be easily redesigned to implement a new interfaceSteps to add a new interface for several classes:add an “implements interfaceName” in each classadd the required methods for each classWhat

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

Слайд 1Item 18: Prefer interfaces to abstract classes

Item 18: Prefer interfaces to abstract classes

Слайд 2Existing classes can be easily redesigned to implement a new

interface
Steps to add a new interface for several classes:
add an

“implements interfaceName” in each class
add the required methods for each class

What about abstract classes?
Two classes should extend the same abstract class –>
Place the abstract class high up in the type hierarchy after an ancestor of both classes –>
Great damage to the type hierarchy.
Existing classes can be easily redesigned to implement a new interfaceSteps to add a new interface for

Слайд 3Interfaces are ideal for defining mixins.
Mixins provides some additional behavior (For

example Comparable)
Class can implement several mixins as interfaces
Class can have

only one superclass – there is no place in hierarchy for mixins as abstract classes
Interfaces are ideal for defining mixins.Mixins provides some additional behavior (For example Comparable)Class can implement several mixins

Слайд 4Interfaces allow the construction of nonhierarchical types

interface Singer


+ interface Songwriter
= interface SingerSongwriter extends Singer, Songwriter

The alternative

is a bloated class hierarchy containing a separate class for every supported combination of attributes (2n possible combinations).
Interfaces allow the construction of nonhierarchical types  interface Singer + interface Songwriter = interface SingerSongwriter extends

Слайд 5Interfaces enable safe and powerful increasing of functionality

+ Using an

interface – enable to use composition

- Using an abstract class

– no alternative but to use inheritance
Interfaces enable safe and powerful  increasing of functionality+ Using an interface – enable to use composition-

Слайд 6Abstract skeletal implementation class
Combination: Skeletal implementation = Interface + Abstract

class
Skeletal implementations are called AbstractInterface (AbstractCollection, AbstractSet, AbstractList, AbstractMap)
Simulated multiple inheritance
Simple

implementation
Abstract skeletal implementation classCombination:  Skeletal implementation = Interface + Abstract classSkeletal implementations are called AbstractInterface (AbstractCollection,

Слайд 7Advantage of abstract classes: It is far easier to evolve an

abstract class than an interface

+ All existing implementations of the

abstract class will then provide the new method

- Once an interface is released and implemented, it is almost impossible to change
Advantage of abstract classes: It is far easier to evolve an abstract class  than an interface+

Слайд 8Item 19: Use interfaces only to define types
Don’t use constant

interfaces, it’s antipattern.
Use utility classes for constants and static import.
Constant

interfaces in the Java platform libraries, such as java.io.ObjectStreamConstants - should be regarded as anomalies


Item 19: Use interfaces only to define typesDon’t use constant interfaces, it’s antipattern.Use utility classes for constants

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

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

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

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

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


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

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