Microsoft Word кл программирование на Java 2020 Зорина docx


Увеличение гибкости программ за счет наследования



Pdf көрінісі
бет49/65
Дата17.10.2023
өлшемі3,23 Mb.
#117230
түріРеферат
1   ...   45   46   47   48   49   50   51   52   ...   65
Байланысты:
Лекции

Увеличение гибкости программ за счет наследования. 
Код работает с объектами по ссылке на базовый тип. Этот код может быть 
использован для работы с производными типами. Достигаемая гибкость работает 
только в пределах одной иерархии (наследования). 
interface Wheeled{} //
общий
интерфейс
class Crossover implements Wheeled{} 
class Hatchback implements Wheeled{} 
class Trailer implements Wheeled{} 
class Garage { 
private Wheeled parkedThing; 
public Garage(Wheeled parkedThing){this.parkedThing = 
parkedThing;} 
public Wheeled getParkedThing(){ return parkedThing;} 

class Main { 
public static void main(String[] args) { 


103 
Garage garage = new Garage (new Crossover()); 
Garage anotherGarage = new Garage (new 
Trailer()); 

}
Увеличение гибкости за счет использования интерфейсов. 
Преимущества, которые мы получаем: 
-
код работает с объектами по интерфейсной ссылке; 
-
этот код может быть использован для работы с любыми объектами
реализующими этот интерфейс; 
-
более гибкий механизм (по сравнению с наследованием), но требует 
реализации интерфейса. 
interface Wheeled{} 
class Crossover implements Wheeled{} 
class Hatchback implements Wheeled{} 
class Trailer implements Wheeled{} 
class PotatoesBag {}; 
class Garage { 
private Object keepingThing; 
public Garage(Object keepingThing){
this.keepingThing = keepingThing;

public Object getKeepingThing(){ return keepingThing


class Man { 
public static void main(String[] args) { 
Garage garage = new Garage (new PotatoesBag()); 
Object o = garage.getKeepingThing(); 
PotatoesBag bag; 
if (o instanceof PotatoesBag) bag = (PotatoesBag) 
o;

}


Достарыңызбен бөлісу:
1   ...   45   46   47   48   49   50   51   52   ...   65




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет