Mönster. n n n n n n n n n n. Singleton Monostate Null object Factory Composite Observer Abstract server Adapter Bridge Proxy
|
|
- Gunnel Lundström
- för 8 år sedan
- Visningar:
Transkript
1 Desig möster
2 Möster Sigleto Moostate Null object Factory Composite Observer Abstract server Adapter Bridge Proxy
3 Sigleto Preseterades reda Exempel: objekt med kofiguratios data Avädig: Cofig.getIstace(). getworkigdirectory() class Cofig{ private static cofig=ull; private Directory wdir=ull;... private Cofig(){...}... public Directory getworkigdirectory(){...}... public static Cofig getistace(){ if (cofig==ull) cofig=ew Cofig(); retur cofig; }
4 Sigleto (multi-trådig) E multi-trådad variat preseterades också public static Cofig getistace(){ if ( cofig==ull ){ sychroized(cofig.class){ if ( cofig==ull ) cofig=ew Cofig(); } } retur cofig; }... }
5 Sigleto (multi-trådig) Me detta fukar ite Kode på föregåede slide ka översättas till ågot i stil med -> För första tråde fugerar det bra E adra tråd ka returera ett ickeiitialiserat objekt public static Cofig getistace(){ if ( cofig==ull ){ sychroized(cofig.class){ if ( cofig==ull ) cofig= Oiitialiserat objekt ; cofig.costructor(); } } retur cofig; }... }
6 Sigleto (multi-trådig) Det rätta sättet är att göra public static sychroized Cofig getistace(){ if ( cofig == ull ){ cofig = ew Cofig(); } retur cofig; }... }
7 Fördelar med sigleto Cross platform Med e lämplig middleware (t. ex.) RMI ka ett sigleto objekt fugera över olika JVMs och flera datorer Fugerar för alla klasser. E klass görs till sigleto geom att göra kostruktor privat och addera e statisk metod Ka skapas geom edärvig E subklass ka bli e sigleto Lat evaluerig Om e sigleto objekt aldrig aväds så skapas det ite
8 Nackdelar med sigleto Destruktio är ite defiierad Det fis ite ågot bra sätt att förstöra ett sigleto objekt. Gäller speciellt i språk som ite har garbage collectio (t. ex C++) Egeskape ärvs ite E subklass av ett sigleto objekt är ite ödvädigtvis ett sigleto objekt Sabbhet E extra if sats behövs för att komma åt istase Ite trasparet Avädare måste veta att de aväder ett sigleto objekt
9 Moostate Alterativ till Sigleto möstret class Cofig{ private static Directory wdir=ull;... public Cofig(){...}... public Directory getworkigdirectory(){...}... } Alla variabler deklareras som static me ige av metodera är defiierade som static
10 Moostate Ett moostate objekt ka avädas som ett valigt objekt Cofig cofig= ew Cofig(); dir=cofig.getworkigdirectory(); Data delas dock mella dom olika istasera Alla variabler var ju deklarerade som static
11 Fördelar med moostate Trasparet Avädare behöver ite bry sej om att objektet är ett moostate objekt Nedärvig Subklasser av moostate klasser är också moostate klasser. Alla delar samma static variabler Polymorfism Eftersom ige metod är static, ka metoder omdefiieras i subklasser Väldefiierad kostruktio och destruktio Eftersom variablera är static
12 Nackdelar med Moostate Ige koverterig E klass ka ite bli koverterad till e moostate geom ärvig Effektivitet Skapade av objekt kräver mie och är lågsamt. Dessutom aväds ite data i objekte. Variablera i e moostate klass tar alltid upp plats, också om iga moostate objekt behövs Lokal till plattforme. Ett moostate objekt ka ite fås att fugera över olika JVM istaser
13 Null object Följade typ av kod är mycket valig Employee e =Database.getEmployee( Bob ); if ( e!=ull && e.istimetopay()){ e.pay(); } Fugerar pga. short-circuit evaluerig av logiska uttryck adra dele av uttrycket evalueras bara om de första evalueras till sat Lätt att ma glömmer att checka för ull
14 Null object Kude aväda exceptios i stället Me try/catch block ka bli äu besvärligare att aväda Svårt att få att fugera med existerade kod Database <<it erface>> Employee Null Employee EmployeeImpemetatio
15 Null object Kode frå exemplet ka u ädras till Employee e =Database.getEmployee( Bob ); if (e.istimetopay()){ e.pay(); } Mera kosistet då Database.getEmployee alltid returerar ett objekt
16 Null object Employee grässittet ka defiieras som: iterface Employee{ public boolea istimetopay(date date); public void pay(); } public static fial Emplyee NULL = ew Employee(){ public boolea istimetopay(date date){ retur false;} public void pay(){} }; Aoym klass garaterar att det fis bara ett NULL objekt
17 Null object Ka u aväda if (e ==Employee.NULL ){... Fördelar Giltiga objekt retureras alltid Iga NullPoiterExceptios
18 Factory Depedecy iversio priciple (DIP) går ut på att ma ska föredra beroede till edast abstrakta klasser/grässitt Circle c=ew Circle(origi, 1); List<Comparable> t= ew LikedList<Comparable>(); Alltid då ma skapar objekt med ew så itroducerar ma ett beroede på kokreta klasser Bryter mot DIP Ofta iget problem om klasse ma skapar objekt av ite ädras (t. ex. Strig) I system som håller på att utveckla ka det bli problem
19 Factory Perso exempel Flera olika subklasser Rätt subklass ska väljas baserat på vissa kriterier Cetralisera skapade av objekt istaser Factory Perso p= makeperso( Aa, 14); public Perso makeperso(strig ame, it age){ if(age<13) retur ew Child(ame, age); else if (age<20) retur ew TeeAger(ame, age); else retur ew Adult(ame,age); }
20 Factory E metod som alltid skapar objekte på rätt sätt Var ska metode placeras? I basklasse, Perso p= Perso.makePerso(ame, age); Basklasse behöver då käa till alla subklasser Ege factory klass Perso p= PersoFactory.makePerso(am,age); Oftast ett bättre val
21 Polymorfa factories Exempel: javas iteratorer för behållare Varje behållare implemeterar Iterable grässittet Varje behållare är asvarig att returera e passade iterator som uppfyller Iterator grässittet Allt ma behöver veta om ett behållarobjekt är att det implemeterar Iterable grässittet
22 Polymorfa factories <<iterface>> It erable Iterable<T> itr = ew ArrayList<T>; ArrayList LikedList EgeBehållare <<it erface>> Iterator Iterator<T> it=itr.iterator(); while(it.hasnext()){...it.ext(); AbstractList.Itr EgeIterator
23 Factories (Factory method) Product <<iterface>> Creat or CocreteProduct1 Cocre tepro duct2 CocreteCreator1 CocreteCreator2
24 Factory Exempel ur boke
25 Abstract Factory E beskrivig över tillverkare av objekt Aväds för att beskriva tillverkare av e familj av produkter som hör ihop Defiierar ett grässitt som alla tillverkare måste följa Exempel: Lokaliserig av program persoligt id datum klockslag represetatioe ser olika ut i olika läder
26 Abstract factory public abstract class PersoId{... } public abstract class Date{... } public class FiladTimeOfDay exteds TimeOfDay{... } public abstract class TimeOfDay{... }
27 Abstract factory public iterface FormatFactory{ public PersoId createperoid(...); public Date createdate(...); public TimeOfDay createtimeofday(...); } public class FiladFormatFactory implemets FormatFactory{ public PersoId createperoid(...){...} public Date createdate(...){...} public TimeOfDay createtimeofday(...){...}
28 Abstract factory Avädare behöver u ite bry sej om hur dom olika objekte skapas Geerellt grässitt för skapadet av objekt Ofta avät för att ge ett program aa look-ad-feel Lätt at byta e familj uppsättig mot e aa Byt factory E ackdel är att det ka kräva e del arbete att lägga till e produkt
29 Abstract factory - geerellt <<it erface>> AbstractFact ory CocreteFactory1 CocreteFac tory2 <<iterface>> AsbtractProductA Product A1 ProductA2 <<iterface>> Asbt ractp roductb ProductB1 ProductB2
30 Composite Haterig av hierarkier av objekt Exempel filsystem: : Directory : Directory : Directory : File : File : File : Directory : File
31 Composite Tre kategorier av operatioer Operatioer som alla oder har gemesamt Operatioer som gäller för förgreigsoder Operatioer som gäller för löv För filsystem Byta am, ädra ägare, rättigheter Lägga till och ta bort filer i e katalog, lista katalogiehåll läsa och skriva iehåll
32 Composite Försök till filsystem desig Node setnam e() getnam e() 0..* File readcotet() writecotet() Directory addnode() rem ovenode() getchi ldre()
33 Composite Edast kataloger ka ha barobjekt De här desige har små problem, t. ex: Då ma vill gå igeom strukture if (thenode istaceof Directory){ Directory dir = (Directory) thenode; Iterator<Node> childre = dir.getchildre(); while (childre.hasnext()){... } }
34 Composite Ma borde alltså defiiera barhaterigsfuktioer reda i basklasse Node Filera kommer att påtvigas Directory operatioer Node setname() getname() addnode() rem ovenode() opame() getchildre() 0..* Föreklar kode File readcotet() writecotet() Directory addnode() removenode() getchildre()
35 Composite Föreklar kode Iterator<Node> childre =thenode.getchildre(); while ( childre.hasnext()){ //... File objekt i java represeterar också både filer och kataloger Har e metod listfiles Ka eklare lägga till ya typer av subklasser
36 Composite Compoet operatio() add() remove() getchildre() 0..* Leaf Composite
37 Composite Exempel Se boke
38 Observer Ursprug i Smalltalk Model/View När ett objekttillståd uppdateras fis det ett atal objekt som måste få reda på detta och i si tur göra ågot Observer ett objekt som ka observera ett aat objekts tillstådädrigar Adra am Model/View, publish/subscribe, documet/view
39 Observer - textredigerare Direkta beroede mella olika kompoeter ite bra Svårt att sätta till ya kompoeter Svårt att hatera beroede : Tex twidow : TextDocumet : WordCout er : SpellChec ker
40 Observer <<iterface>> Subject otify() attach() detach() <<iterface>> Observer update() TextDocumet readtextdata() writetextdata() SpellChecker TextW idow W ordcouter
41 Observer :Te xtdocum et :SpellChecker : TextWidow : WordCouter outer user 1: attach 2: attach 3: attach 4: writetextdat a 5: update 6: update 7: update
42 Observer Ekelriktat beroede textobjekte behöver ite hålla reda på vem som observerar dem Nya observatörer ka ekelt läggas till Ka ite heller skicka specialiformatio för specifika observatörer Ka ge prestadaproblem med måga observatörer Variater Data ka skickas med update metode eller ite
43 Observer Exempel ur boke
44 Abstract server Switch Light turo() turoff() Desige strider mot två desigpriciper Depedecy Iversio priciple Policy beror på e kokret klass Ope-closed priciple Måste släpa med Light överallt vi behöver e Switch
45 Abstract server Kude kaske skapa e subklass av Switch för att reglera adra saker Switch Light turo() turoff() FaSwitch Fa turo() turoff()
46 Abstract server Abstract server möstret Satisfierar DIP och OCP Switch <<iterface>> Switchable turo() turoff() Light turo() turoff() Notera att grässittet hör logiskt till kliete Gör iget uta e Switchable grässitt
47 Adapter I föregåede exempel fis det potetiellt problem med Sigle-Reposibility Priciple Budit ihop klasser Light och Switchable Light kaske reda fis i ågot bibliotek och ka ite ädras Light kaske ite ka ärva av Switchable Problemet ka lösas med e adapter
48 Adapter Sätt i e adapter mella Switchable och Light Switch <<iterface>> Switchable turo() turoff() LightAdapter turo() turoff() Light turo() turoff() All problems i computer sciece ca be solved by aother level of idirectio Butler Lampso
49 Adapter - exempel Exempel i boke
50 Adapter geerell ACliet Target operatio() Adapter a : Adaptee operatio() Adaptee otheroperatio() a.otheroperatio()
51 Bridge Att frigöra e abstraktio frå si implemetatio så att båda ka variera oberoede Exempel Modem Modem DialModem DedicatedModem HayesDialModem EriesDialModem HayesDedModem EriesDedModem
52 Bridge Om ma sätter till e y typ av modem kräver det två ya klasser Två frihetsgrader här
53 Bridge geerell Abstractio <<iterface>> Im plemet or Refi edabtract io 1 RefiedAbstractio2 CocreteImplemetor1 CocreteImplemetor2
54 Bridge Exempel ur boke
55 Bridge Ka avädas då: Ma vill dyamiskt kua byta ut implemeterig för e avädare Avädare och implemeterigar ska kua variera oberoede av varadra Ma vill aväda samma implemeterigsobjekt för flera avädare uta att de vet om det Ma vill på ett tydligt sätt separera implemetatio och grässitt
56 Bridge Separera avädargrässitt frå implemetatio Implemeterigar ka bytas ut dyamiskt Ka vara svårt att hitta de rätta grässitte Fuktioalitet som borde lämas flexibel åt implemetatioe ka ha låsts i abstraktiosdele, och tvärtom
57 Proxy Aropa e ställföreträdare istället för att direkt aropa objektet Orsaker: Objektet som ma vill komma åt fis på e aa dator. Java aväder fjärrproxy för att implemetera fjärrarop med RMI Objektet är dyrt att aväda. E lat ställföreträdare (virtual proxy) optimerar åtkomste geom att till exempel geom att till exempel fördröja skapadet av objektet Objektet behöver åtkomstskydd. E skyddsställföreträdare (protectio proxy) reglera åtkomste Objektet förses med e smart referes/pekare som gör ågot extra är objektet aväds. Till exempel räkar aktiva refereser.
58 Proxy - exempel E proxy ska oftast kua avädas som origial objektet Cliet <<iterface>> Image getname() draw() ImageProxy i : Im agefile getnam e() draw() Im agefile getname() draw()
59 Proxy - exempel public class ImageFile implemets Image{ public iterface Image{ Strig getname(); void draw(); } } public ImageFile(Strig ame){...} public Strig getname(){...} public void draw(){...}
60 Proxy -exempel class ImageProxy implemets Image{ private Strig fname; private ImageFile image; public ImageProxy(Strig ame){ fame=name; } public void draw(){ if ( image==ull) image=ew ImageFile(ame); image.draw(); }
61 Proxy Proxy objektet måste ha ågo kotakt med det riktiga objektet Här referes Fjärrproxy ikapslar kommuikatio över ätverk Ofta opraktiskt att avädare som vill komma åt orgialtjäste måste behöva käa till proxy Factory möster ka avädas E ackdel med Proxy är att de ka dölja extra kostad som associeras med åtkomst Nätverkstrafik
Design mönster. n n n n n n. Command Active object Template method Strategy Facade Mediator
Desig möster Desig möster Commad Active object Template method Strategy Facade Mediator Commad Ett av de eklaste desig möstre Me också mycket avädbart Ett grässitt med e metod Comm ad do()
Läs merÅteranvändning. Två mekanismer. Nedärvning av egenskaper (inheritance) Objekt komposition
Iheritace Återavädig Två mekaismer Nedärvig av egeskaper (iheritace) Objekt kompositio A A +a +b B B Iheritace Återavädig geom att skapa subklasser kallas ofta white box reuse Ekelt att aväda Relatioe
Läs merMönster. n n n n n. Visitor Decorator Extension Object State Taskmaster
Desig möster Möster Visitor Decorator Extesio Object State Taskmaster Visitor Aväds för komplicerade datastrukturer där det fis e växade mägd operatioer på dea Grafik exempel ige: Shape draw() ps() ik()
Läs merKontrakt baserad design. Design by contract
Kotrakt baserad desig Desig by cotract Motiverig Objekt ka valige ite avädas på ett godtyckligt sätt Metoder ska aropas med vissa parametervärde I rätt ordig Svårt att veta hur ett objekt ka avädas uta
Läs mer(a) om vi kan välja helt fritt? (b) om vi vill ha minst en fisk av varje art? (c) om vi vill ha precis 3 olika arter?
Lösigar Grudläggade Diskret matematik 11054 Tid: 1.00-17.00 Telefo: 036-10160, Examiator: F Abrahamsso 1. I de lokala zoo-affäre fis 15 olika fiskarter med mist 0 fiskar utav varje art). På hur måga sätt
Läs merKompletterande kurslitteratur om serier
KTH Matematik Has Thuberg 5B47 Evariabelaalys Kompletterade kurslitteratur om serier I Persso & Böiers.5.4 itroduceras serier, och serier diskuteras också i kapitel 7.9. Ia du läser vidare här skall du
Läs merDatabaser - Design och programmering. Programutveckling. Programdesign, databasdesign. Kravspecifikation. ER-modellen. Begrepps-modellering
Databaser desig och programmerig Desig processe ER-modellerig Programutvecklig Förstudie, behovsaalys Programdesig, databasdesig Implemetatio Programdesig, databasdesig Databasdesig Koceptuell desig Koceptuell
Läs merMS-A0409 Grundkurs i diskret matematik I
MS-A0409 Grudkurs i diskret matematik I G. Gripeberg Mägder och logik Relatioer och fuktioer Aalto-uiversitetet oktober 04 Kombiatorik etc. G. Gripeberg (Aalto-uiversitetet MS-A0409 Grudkurs i diskret
Läs merTentamen i Flervariabelanalys F/TM, MVE035
Tetame i Flervariabelaalys F/TM, MV35 8 3 kl. 8.3.3. Hjälpmedel: Iga, ej räkedosa. Telefo: Oskar Hamlet tel 73-8834 För godkät krävs mist 4 poäg. Betyg 3: 4-35 poäg, betyg 4: 36-47 poäg, betyg 5: 48 poäg
Läs merTentamen i Statistik STG A01 (12 hp) 5 mars 2010, kl. 08.15 13.15
Karlstads uiversitet Fakultete för ekoomi, kommuikatio och IT Statistik Tetame i Statistik STG A0 ( hp) 5 mars 00, kl. 08.5 3.5 Tillåta hjälpmedel: Bifogad formel- och tabellsamlig (skall retureras) samt
Läs merSubsystem. Klasser är ett bra sätt att organisera små system. Klasser är för små enheter för att organisera stora system
Desig av subsystem Subsystem Klasser är ett bra sätt att orgaisera små system Klasser är för små eheter för att orgaisera stora system Större eheter behövs för orgaiserige Subsystem Sex priciper diskuteras
Läs merFöreläsningar 7,8 sept 24, sept 26 v 39). delvis DD Chapter 6.
Föreläsigar 7,8 sept 4, sept 6 v 39). delvis DD Chapter 6. Metoder som returerar värde. När vi skriver uttryck ka vi aväda ibyggda operatorer, t ex i uttrycket efter tilldeligssymbole i satse : k = 3*i
Läs merWebprogrammering och databaser. Begrepps-modellering. Exempel: universitetsstudier Kravspec. ER-modellen. Exempel: kravspec forts:
Webprogrammerig och databaser Koceptuell datamodellerig med Etitets-Relatiosmodelle Begrepps-modellerig Mål: skapa e högivå-specifikatio iformatiosiehållet i database Koceptuell modell är oberoede DBMS
Läs merApplikationen kan endast användas av enskilda användare med förtroenderapportering.
Aktiverig mobil app 1 Aktiverig mobil app Aktiverig mobil app aväds för att koppla e eskild avädare till Visma Agdas mobilapplikatio. Applikatioe ka edast avädas av eskilda avädare med förtroederapporterig.
Läs merTentamen i Statistik, STA A13 Deltentamen 2, 5p 20 januari 2007, kl. 09.00-13.00
0.01.007 Tetame i Statistik, STA A13 Deltetame, 5p 0 jauari 007, kl. 09.00-13.00 Tillåta hjälpmedel: Bifogad formel- och tabellsamlig (skall retureras) samt miiräkare. Asvarig lärare: Haah Hall Övrigt:
Läs merFöreläsning F3 Patrik Eriksson 2000
Föreläsig F Patrik riksso 000 Y/D trasformatio Det fis ytterligare ett par koppligar som är värda att käa till och kua hatera, ite mist är ma har att göra med trefasät. Dessa kallas stjärkopplig respektive
Läs merSystemdesign fortsättningskurs
Systemdesig fortsättigskurs Orgaisatio Föreläsare Potus Boström Assistet? Tider mådagar och tisdagar kl. 8-10 Börjar 3.9 och slutar 16.10 Rum B3040 Orgaisatio Iga föreläsigar 24.9, 25.9, 1.10 och 2.10
Läs merSveTys. Affärskultur i Tyskland. Vad är det? Och vad ska jag tänka på?
SveTys Affärskultur i Tysklad Vad är det? Och vad ska jag täka på? 2 Affärskultur i Tysklad Vad är det? Och vad ska jag täka på? 2008 SveTys, Uta Schulz, Reibek 3 Iledig När ma gör affärer i Tysklad eller
Läs merDatabaser - Design och programmering. Databasdesign. Kravspecifikation. Begrepps-modellering. Design processen. ER-modellering
Databaser desig och programmerig Desig processe Databasdesig Förstudie, behovsaalys ER-modellerig Kravspecifikatio För att formulera e kravspecifikatio: Idetifiera avädare Studera existerade system Vad
Läs merArtificiell intelligens Probabilistisk logik
Probabilistiska resoemag Artificiell itelliges Probabilistisk logik Are Jösso HCS/IDA Osäkerhet Grudläggade saolikhetslära Stokastiska variabler Bayes teorem Bayesiaska ätverk Kostruktio Iferes Osäkerhet
Läs merEgna funktioner. Vad är sin? sin är namnet på en av många inbyggda funktioner i Ada (och den återfinns i paketet Ada.Numerics.Elementary_Functions)
- 1 - Vad är si? si är amet på e av måga ibyggda fuktioer i Ada (och de återfis i paketet Ada.Numerics.Elemetary_Fuctios) si är deklarerad att ta emot e parameter (eller ett argumet) av typ Float (mätt
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merExempel. En klass för att inkapsla funktionen hos ett tangentbord. Nu kan många objekt skapas av klassen
Desigmöster Exempel E klass för att ikapsla fuktioe hos ett tagetbord E applikatio aväder edast ett tagetbord public class Keyboard{... public char getcurretchar(){...}... } Nu ka måga objekt skapas av
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merDesign Patterns. En kort introduktion
Design Patterns En kort introduktion Vad är ett designmönster? Ett designmönster är en (namngiven) lösning på ett i en viss omgivning ofta återkommande problem. I mjukvaru-världen: En uppsättning klasser
Läs merTentamen i Kunskapsbaserade system, 5p, Data 3
Kuskapsbaserade system, tetame 2000-03-0 Istitutioe för tekik Tetame i Kuskapsbaserade system, 5p, Data 3 Datum: 2000-03-0 Tid: 8.00-3.00 Lärare: Potus Bergste, 3365 Hjälpmedel: Miiräkare Uppgiftera ska
Läs merAllmänna avtalsvillkor för konsument
Godkäare 7.2 Kudakuta Godkät Kommuikatio Distributio Kudservice Kommuikatio, deltagade och samråd Allmäa avtalsvillkor för kosumet för leveras av fjärrvärme Allmäa avtalsvillkor för kosumet för leveras
Läs mera utsöndring b upptagning c matspjälkning d cirkulation
I levade varelser bryts stora och sammasatta molekyler ed till små och ekla molekyler. Vad kallas dea process? S02_01 a utsödrig b upptagig c matspjälkig d cirkulatio S042009 Kalle hade ifluesa. Ha spelade
Läs merFunktionsteori Datorlaboration 1
Fuktiosteori Datorlaboratio 1 Fuktiosteori vt1 2013 Rekursiosekvatioer och komplex aalys Syftet med datorövige Öviges ädamål är att ge ett smakprov på hur ett datoralgebrasystem ka avädas för att att lösa
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merIntroduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Läs merDatastrukturer och algoritmer
Iehåll Föreläsig 6 Asymtotisk aalys usammafattig experimetell aalys uasymtotisk aalys Lite matte Aalysera pseudokode O-otatio ostrikt o Okulärbesiktig 2 Mäta tidsåtgåge uhur ska vi mäta tidsåtgåge? Experimetell
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs merLeica Lino. Noggranna, självavvägande punkt- och linjelasers
Leica Lio Noggraa, självavvägade pukt- och lijelasers Etablera, starta, klart! Med Leica Lio är alltig lodat och perfekt apassat Leica Lios projekterar lijer eller pukter med millimeterprecisio och låter
Läs merOOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
Läs merOperativsystem - Processkommunikation
Operativsystem - Processkommuikatio Mats Björkma 2017-01-20 Iehåll Processer (föreläsig 2) Processmodell Processtillståd Trådar Processkommuikatio (föreläsig 3, de här) Semaforer Moitorer Meddeladesystem
Läs merAnalys av algoritmer. Beräkningsbar/hanterbar. Stora Ordo. O(definition) Datastrukturer och algoritmer. Varför analysera algoritmer?
Datastrukturer och algoritmer Föreläsig 2 Aalys av Algoritmer Aalys av algoritmer Vad ka aalyseras? - Exekverigstid - Miesåtgåg - Implemetatioskomplexitet - Förstålighet - Korrekthet - - 29 30 Varför aalysera
Läs merTentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Läs merKonsoliderad version av. Styrelsens för ackreditering och teknisk kontroll föreskrifter (STAFS 1993:18) om EEG-märkning av färdigförpackade varor
Kosoliderad versio av Styrelses för ackrediterig och tekisk kotroll föreskrifter (STAFS 1993:18) om EEG-märkig av färdigförpackade varor Rubrike har dea lydelse geom (STAFS 2008:11) Ädrig iförd: t.o.m.
Läs merObjektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
Läs merPlattformshissar från Cibes Lift för alla byggnader
Plattformshissar frå Cibes Lift för alla byggader Smarta, säkra och ekla att istallera DESIGN - RELIABILITY - EXPERIENCE Iehåll Om Cibes Lift 3 Kudperspektiv 4 Service och uderhåll 5 Miljöfokus 6 De lilla
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs mer( ) ( ) Kap. 5.5-7. Kolligativa egenskaper + fasjämvikter för 2-komponentsystem 5B.2/5.5 Kolligativa egenskaper R T
Ka. 5.5-7. Kolligativa egeskaer + fasjämvikter för 2-komoetsystem 5.2/5.5 Kolligativa egeskaer Kolligativa egeskaer: Egeskaer som edast beror å atalet artiklar som lösts Förutsättig: utsädda lösigar, lösta
Läs merInterface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010
Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010 interface, motivation och bakgrund Antag att vi gör en generell listklass: public class List { protected static class ListNode { public
Läs merESBILAC. mjölkersättning för hundvalpar BRUKSANVISNING. www.kruuse.com
ESBILAC mjölkersättig för hudvalpar BRUKSANVISNING De bästa starte för e yfödd valp är självklart att dia tike och få i sig mammas mjölk. Modersmjölke iehåller allt som de små behöver i form av ärigsäme,
Läs merTentamen 19 mars, 8:00 12:00, Q22, Q26
Avdelige för elektriska eergisystem EG225 DRIFT OCH PLANERING AV ELPRODUKTION Vårtermie 25 Tetame 9 mars, 8: 2:, Q22, Q26 Istruktioer Skriv alla svar på det bifogade svarsbladet. Det är valfritt att också
Läs merMA2018 Tillämpad Matematik III-Statistik, 7.5hp, 2014-08-23
1 MA018 Tillämpad Matematik III-Statistik, 7.5hp, 014-08-3 Hjälpmedel: Räkedosa och medföljade formelsamlig! Täk på att dia lösigar ska utformas så att det blir lätt för läsare att följa dia takegågar.
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merVi har... Diskuterat olika objektorienterade mekanismer. Ha också tagit upp några krav på hur dom här mekanismerna ska användas
Desig priciper Vi har... Diskuterat olika objektorieterade mekaismer Nedärvig Delegerig Typ-parametriserig Kotrakt baserad desig Ha också tagit upp ågra krav på hur dom här mekaismera ska avädas Hur ska
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsig 2 Algoritmaalys TDDC70/91: DALG Utskriftsversio av föreläsig i Datastrukturer och algoritmer 5 september 2013 Tommy Färqvist, IDA, Liköpigs uiversitet 2.1 Iehåll Iehåll 1 Aalys av värsta fallet
Läs merTänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merProgrammering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Läs merFöreläsning 9: Arv och UML
TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;
Läs merFöreläsning 3. 732G04: Surveymetodik
Föreläsig 3 732G04: Surveymetodik Dages föreläsig Obudet slumpmässigt urval (OSU) Populatiosparametrar och stickprovsstatistikor Vätevärdesriktighet Ädliga och oädliga populatioer Medelvärde, adel Kofidesitervall
Läs merFöreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp
Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser
Läs merFöreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
Läs merBorel-Cantellis sats och stora talens lag
Borel-Catellis sats och stora tales lag Guar Eglud Matematisk statistik KTH Vt 2005 Iledig Borel-Catellis sats är e itressat och avädbar sats framför allt för att bevisa stora tales lag i stark form. Vi
Läs merExtrem prestanda Nu utan BPA UPPLEV DEN FANTASTISKA STYRKAN HOS VÅRA BPA-FRIA PRODUKTER
Extrem prestada Nu uta BPA UPPLEV DEN FANTASTISKA STYRKAN HOS VÅRA BPA-FRIA PRODUKTER Formar för kall och varm mat BPA-fritt kommersiellt produktsortimet för livsmedelsservice Rubbermaid Commercial har
Läs merDatabaser - Design och programmering. Databasdesign. Funktioner. Relationsmodellen. Relationsmodellen. Funktion = avbildning (mappning) Y=X 2
Databaser Desig och programmerig Relatiosmodelle Databasdesig Förstudie, behovsaalys defiitioer ER-modell -> relatiosmodell ycklar Relatiosmodelle Itroducerades av Edward Codd 1970 Mycket valig Stödjer
Läs merENDIMENSIONELL ANALYS B1 FÖRELÄSNING VI. Föreläsning VI. Mikael P. Sundqvist
Föreläsig VI Mikael P. Sudqvist Aritmetisk summa, exempel Exempel I ett sällskap på 100 persoer skakar alla persoer had med varadra (precis e gåg). Hur måga hadskakigar sker? Defiitio I e aritmetisk summa
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merRedovisning av inlämningsuppgifter
Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merEn ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.
F5 LE1460 Analog elektronik 2005-11-23 kl 08.15 12.00 Alfa En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning. ( Impedans är inte samma sak som resistans. Impedans
Läs merRESTARITMETIKER. Avsnitt 4. När man adderar eller multiplicerar två tal som t ex
Avsitt 4 RESTARITMETIKER När ma adderar eller multiplicerar två tal som t ex 128 + 39..7 128 43..4 så bestämmer ma först de sista siffra. De operatioer som leder till resultatet kallas additio och multiplikatio
Läs merFöreläsning 2. Länkad lista och iterator
Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF
Läs merMultiplikationsprincipen
Kombiatori Kombiatori hadlar oftast om att räa hur måga arragemag det fis av e viss typ. Multipliatiospricipe Atag att vi är på e restaurag för att provsmaa trerättersmåltider. Om det fis fyra förrätter
Läs merFöreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
Läs merMS-A0409 Grundkurs i diskret matematik Sammanfattning, del I
MS-A0409 Gudkus i disket matematik Sammafattig, del I G. Gipebeg 1 Mägde och logik 2 Relatioe och fuktioe Aalto-uivesitetet 15 maj 2014 3 Kombiatoik etc. G. Gipebeg Aalto-uivesitetet MS-A0409 Gudkus i
Läs merHamnbanan Göteborg Dubbelspår Eriksbergsmotet - Pölsebobangården
Järvägsutredig med miljökosekvesbeskrivig Hambaa Göteborg Dubbelspår Eriksbergsmotet - Pölsebobagårde Utställigshadlig 2011-03-04 Yta för bild eller möster Titel: Järvägsutredig Hambaa Göteborg dele Eriksbergsmotet
Läs merLösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle
Läs merDet finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merx 1 x 2 x 3 x 4 x 5 x 6 HL Z x x x
Uppgift 1 a) Vi iför slackvariabler x 4, x 5 och x 6 och löser problemet med hjälp av simplexalgoritme. Z -2-1 1 0 0 0 0 x 4 1 1-1 1 0 0 20 x 5 2 1 1 0 1 0 30 x 6 1-1 2 0 0 1 10 x 1 blir igåede basvariabel
Läs merEnkel slumpvandring. Sven Erick Alm. 9 april 2002 (modifierad 8 mars 2006) 2 Apan och stupet 3 2.1 Passagesannolikheter... 3 2.2 Passagetider...
Ekel slumpvadrig Sve Erick Alm 9 april 2002 (modifierad 8 mars 2006) Iehåll 1 Iledig 2 2 Apa och stupet 3 2.1 Passagesaolikheter............................... 3 2.2 Passagetider....................................
Läs merUniversitetet: ER-diagram e-namn
Databaser Desig och programmerig Fortsättig på relatiosmodelle: Normaliserig fuktioella beroede ormalformer iformatiosbevarade relatiosschemauppdelig Varför ormalisera? Metod att skydda oss frå dum desig
Läs merUML Objektdiagram. Objektorienterad modellering och design (EDAF25) Föreläsning 3. UML Sekvensdiagram. UML Objektdiagram. Agenda
Objektorienterad modellering och design (EDAF25) Föreläsning 3 UML Objektdiagram Agenda UML objekt och sekvensdiagram Design smells Designprinciper (ALP, SRP, OCP, DIP) (, Composite) Att göra denna och
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merFördjupad Java. Undantagshantering. Fel
Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java
Läs merPROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#
PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# Vi gör ett enkelt glosförhör Allt det du gör idag ska ligga i samma projekt (och mapp). Du kan om du tycker det behövs använda flera forms
Läs merMS-A0409 Grundkurs i diskret matematik Sammanfattning, del I
MS-A0409 Grudkurs i diskret matematik Sammafattig, del I G. Gripeberg Aalto-uiversitetet 2 oktober 2013 G. Gripeberg (Aalto-uiversitetet) MS-A0409 Grudkurs i diskret matematiksammafattig, del 2Ioktober
Läs merUtlandskyrkans krisberedskap
Utladskyrkas krisberedskap hadbok för beredskapsplaerig Kyrkokasliet Uppsala Sveska kyrkas kriscetrum 2 Kotaktiformatio veska kyrka i utladet S Kyrkokasliet 751 70 Uppsala Tel. 018-16 95 00 www.sveskakyrka.se
Läs merLösningsförslag 081106
Lösigsförslag 86 Uppgift Trädslag: kvalitativ, omialskala (diskret) Diameter: kvatitativ, kvotskala, kotiuerlig Höjd: kvatitativ, kvotskala, kotiuerlig Ålder: kvatitativ, kvotskala, kotiuerlig Trädslag:
Läs merObjektorienterad Programkonstruktion. Föreläsning jan 2016
Objektorienterad Programkonstruktion Föreläsning 13 19 jan 2016 Tentamen Del I, E del Flervalsfrågor 20/25 krävs för godkänt, ger betyg E Upp till 7 möjliga bonuspoäng Del II, Högrebetygsdel Problemfrågor
Läs merMarkanvisningsavtal för och försäljning av fastigheten Gesällen 25
TJÄNSTSKRIVLS Hadläggare atum Äredebeteckig Johaa Kidqvist -05- KS /05 50 Kommufullmäktige Markavisigsavtal för och försäljig av fastighete Gesälle 5 Förslag till beslut Kommufullmäktige godkäer förslag
Läs merUniversitetet: ER-diagram e-namn
Databaser Desig och programmerig Fortsättig på relatiosmodelle: Normaliserig fuktioella beroede ormalformer iformatiosbevarade relatiosschemauppdelig Varför ormalisera? Metod att skydda oss frå dum desig
Läs merFöreläsning 2. Länkad lista och iterator
Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF
Läs merÖversikt. Modern C++ Generisk programmering vs OOP. En titt i backspegeln... Generisk programmering. Objektorienterad programmering.
Moder C++ Översikt Mattias Flodi Geerisk programmerig vs OOP Stadard Template Library (STL) Partiell specialiserig Metaprogrammerig med templates Policybaserad desig Expressio templates Geerativ programmerig
Läs merArrayer. results
Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merJag läser kursen på. Halvfart Helfart
KOD: Kurskod: PC106/PC145 Kurs 6: Persolighet, hälsa och socialpsykologi (15 hp) Datum: 3/8 014 Hel- och halvfart VT 14 Provmomet: Socialpsykologi + Metod Tillåta hjälpmedel: Miiräkare Asvarig lärare:
Läs merVikingen FutureLook. Delphi Finansanalys AB
Vikige FutureLook by Delphi Fiasaalys AB Referesmaual för Vikig FutureLook Översikt Futurelook är ett uikt och mycket kraftfult verktyg för fiasaalytiker och kapitalplacerare. Med FutureLook är det möjligt
Läs merKMR. mjölkersättning för kattungar BRUKSANVISNING. www.kruuse.com
KMR mjölkersättig för kattugar BRUKSANVISNING De bästa starte för e yfödd kattuge är självklart att dia mammas mjölk. För e yfödd kattuge är det framför allt viktigt att få i sig mammas mjölk de två första
Läs merDEL I. Matematiska Institutionen KTH
1 Matematiska Istitutioe KTH Lösig till tetamesskrivig på kurse Diskret Matematik, momet A, för D2 och F, SF1631 och SF1630, de 5 jui 2009 kl 08.00-13.00. DEL I 1. (3p) Bestäm e lösig till de diofatiska
Läs merTentamen. DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl 9.00 12.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna kan
Läs merFörfrågan till Klockarens redaktörer
Förfråga till Klockares redaktörer 1. Hur öjd är du med Klockare? Ge Klockare ett geerellt vitsord. Atal svarade: 29 1 2 3 4 5 6 7 8 9 10 Totalt Medelvär Usel 1 0 2 1 2 5 5 9 3 1 Utmärkt 29 6,72 3,45%
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merEtt problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..
Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private
Läs merDesignmönster/Design patterns
Johan Eliasson Design patterns Designmönster/Design patterns Vad är det? Beprövade lösningar till återkommande programmeringsproblem Plattformsoberoende Beskrivs ofta med hjälp av UML Baseras på en bok
Läs mer