Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.

Liknende presentasjoner


Presentasjon om: "Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer."— Utskrift av presentasjonen:

1 Variasjoner i subklasser

2  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer den abstrakte metoden på hver sin måte

3  En algoritme kan skrives ferdig med alle metodekall  Men ett eller flere metodekall kan være abstrakte  Abstrakte metoder gjøres ferdige i subklasser  Et eksempel på dette er metoden read i Javas rammeverk

4  Metoden read behandler IO svært forskjellig i ulike subklasser  Klassen InputStream definerer read abstrakt  Dermed kan InputStream definere to viktige metoder helt ferdig  read(byte[] b)  read(byte[] b, int off, int len)  Begge metodene kan utnytte array.length og indekser for å bygge den nødvendige løkken med kall til den abstrakte metoden read.

5  ByteArrayInputStream (prosjekt 5 og 7) lar read lese fra en strøm basert på en Decorator.  FileInputStream konfigurer et objekt som leser direkte i et filsystem  FilterInputStream bruker en annen InputStream og transformerer dataene  Subklassen FilterInputStream kan for eksempel vedlikeholde linjenummer  AudioInputStream formaterer read-data som spesifiserte audioformater og bufferlengde

6  Template Method viser hvordan vi kan bruke samme algoritme for ulike typer  Mønsteret kan brukes når sekvensen i algoritmen ikke er avhengig av typen  To eksempler på Template Method i prosjekter  Klassen ConfigModel bruker Template Method i begge sine sekvenser (programkode 52)  Klassen Figuremodel i metoden newInstance (programkode 89)  Klassen Element med metodene isHot og traceResult? Diskusjoner med utgangspunkt i mønstre øker kunnskap om kode og programdesign

7  Implementere faste deler av en algoritme en gang og la subklasser definere variasjonene  Unngå repetisjon av kode ved å refaktorere til generaliserte klasser.  Metodikken er å gjenfinne all lik kode i klasser med samme grunnleggende ansvar, og flytte den til en superklasse  Kontroll med subklassenes utvidelser ved å deklarere lovlige ”hooks”  (Som brukes i Eclipse plugin-teknologi, selvsagt ukjent for GoF i 1995)


Laste ned ppt "Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer."

Liknende presentasjoner


Annonser fra Google