Distribuerte objekter og objekt-basert mellomvare
|
|
- Beate Andersson
- 7 år siden
- Visninger:
Transkript
1 Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling av distribuerte applikasjoner Data abstraksjon klart skille mellom implementasjon (klasse) og spesifikasjon (grensesnitt) Inkrementell utvikling et objekt kan erstattes med en alternativ implementasjon Utvidbarhet kan legge til nye klasser og objekter Arv av implementasjon og grensesnitt støtter gjenbruk av kode og grensesnitt Subtyping muliggjør fleksibel utvelgelse av tjenester i en distribuert omgivelse INF5040 Frank Eliassen 2 INF5040 H2006 1
2 Distribuerte objekter - I Objekter i et distribuert program eksekverer i forskjellige prosesser. Hvert objekt har et grensesnitt for å kontrollere aksess til det metoder og attributter som kan aksesseres fra andre objekter erklæres vha et Interface Definition Language (IDL) fjerngrensesnitt (remote interface) kan aksesseres fra objekter i andre prosesser lokalisert på samme eller andre maskiner fjernobjekt (remote object) objekt som implementerer fjerngrensesnitt fjernt metodeanrop (Remote Method Invocation (RMI)) metodeanrop fra et objekt i én prosess til et fjernobjekt i en annen prosess INF5040 Frank Eliassen 3 Distribuerte objekter - II Fjernobjekt har en entydig identitet: Remote Object Reference (ROR) Andre objekter som ønsker å anrope metoder til et fjernobjekt må ha adgang til dets ROR RORer er første klasses verdier kan forekomme som argument og resultat i metodeanrop kan tilordnes variable Fjernobjekt er innkapslet av et grensesnitt Fjernobjekt har en mengde attributter som betegner verdier Kan utstede exceptions som resultat av metodeanrop INF5040 Frank Eliassen 4 INF5040 H2006 2
3 Typer og distribuerte objekter Attributter, metoder og exceptions er egenskaper objekter kan eksportere til andre objekter Flere objekter kan eksportere de samme egenskapene Definerer egenskapene kun en gang Attributter, metoder og exceptions er definert i objekt-typene (grensesnittspesifikasjon) INF5040 Frank Eliassen 5 Attributter Attributter har navn og type Type kan være en objekt-type eller en ikkeobjekt-type Attributter kan leses av andre komponenter Attributter kan eller kan ikke være modifiserbare av andre komponenter Attributter tilsvarer en eller to metoder (set/get) INF5040 Frank Eliassen 6 INF5040 H2006 3
4 Exceptions Fjerne metodeanrop i et distribuert system kan feile Exceptions brukes til å forklare årsaken til feilen til objektet som utstedte anropet Feiling av fjerne metodeanrop kan være generisk spesifikk (applikasjonsspesifikk) Spesifikk feiling kan forklares i spesifikke exceptions INF5040 Frank Eliassen 7 Metoder Metoder har en signatur som består av et navn en liste avin, out, oginout parametere en returverditype en liste av exceptions som operasjonen kan utstede INF5040 Frank Eliassen 8 INF5040 H2006 4
5 Eksempel: CORBA/IDL typedef enum { Målvakt, Forsvarer, Midtbane, Spiss } Posisjon interface Spiller { readonly string fornavn; readonly string etternavn; readonly short Alder; Posisjon Rolle; Exception AlleredePlassert{ }; }; void plasser (in Dato d) raises (AlleredePlassert); INF5040 Frank Eliassen 9 Fjerne metodeanrop Et klientobjekt kan forespørre utførelse av en metode hos et fjernobjekt (metodeanrop) Fjerne metodeanrop uttrykkes ved å sende en melding (metodenavn) til fjernobjektet Fjernobjektet er identifisert ved en objektreferanse (Remote Object Reference - ROR) Klienter må kunne handtere exceptions som metoden kan utstede INF5040 Frank Eliassen 10 INF5040 H2006 5
6 Fjernobjekt med fjerngrensesnitt fjern gr.snitt m1 m2 m3 data impl. Av metoder lokalt gr.snitt m4 m5 m6 INF5040 Frank Eliassen 11 Subtyping objekttyper organiseres i et typehieraraki subtyper arver attributter, exceptions, og metoder fra deres supertyper interface Klubb { readonly string navn; readonly string gateadr;... }; interface FotballKlubb : Klubb {... }; interface HandballKlubb : Klubb {... }; INF5040 Frank Eliassen 12 INF5040 H2006 6
7 Polymorfi Polymorfi betegner muligheten for tilordning av objekter som er instanser av variabelens statiske type og alle dens subtyper x : T := v hvilken type må v ha for at tilordningen skal være lovlig?? INF5040 Frank Eliassen 13 Polymorfi: Eksempel klubber:sequence<klubb> 898:FotballKlubb navn = Rosenborg adr = Lerkendal 897:FotballKlubb navn = Tromsø adr = Alfheim 890:HandballKlubb navn= Larvik adr = Larvikhallen INF5040 Frank Eliassen 14 INF5040 H2006 7
8 Språkheterogenitet Objektbasert distribuert mellomvare har behov for en felles objektmodell objekter i distribuerte systemer er skrevet i forskjellige programmeringsspråk objekter må være interoperasjonelle (samhandling) programmeringsspråk har eller har ikke sine egne objektmodeller ulike objektmodeller kan være svært forskjellige forskjellene må overvinnes for å sikre interoperabilitet Mellomvarens objektmodell tjener som en felles basis for heterogene objekter INF5040 Frank Eliassen 15 Felles objektmodell Smalltalk Java IDL C++ Ada-95 Felles objekt modell C Cobol INF5040 Frank Eliassen 16 INF5040 H2006 8
9 Hensikten med felles objektmodell Metanivåmodell for mellomvarens typesystem Definerer meningen med f.eks. objektidentifikasjon objekttype (grensesnitt) operasjon attributt metodeanrop exception subtyping/arv Må defineres generelt nok til å kunne avbildes til de fleste programmeringsspråk INF5040 Frank Eliassen 17 Interface Definition Language (IDL) Språk for å uttrykke alle begreper i mellomvareplattformens objektmodell Krav må være uavhengig av programmeringsspråk trenger ikke være beregningsmessig fullstendig Behov for bindinger til forskjellige programmeringsspråk Eksempel: CORBA objekt modell og CORBA/IDL INF5040 Frank Eliassen 18 INF5040 H2006 9
10 Oppsummering Distribuerte objekter eksekverer i forskjellige prosesser. fjerngrensesnitt tillater at et objekt i én prosess kan aksesseres objekter i andre prosesser lokalisert på samme eller andre maskiner Objekt-basert distribuert mellomvare: mellomvare som modellerer en distribuert applikasjon som en samling interagerede distribuerte objekter (f.eks. CORBA, Java RMI) noen mellomvare (som CORBA) tillater at objekter i samme applikasjon er implementert i forskjellige programmeringsspråk INF5040 Frank Eliassen 19 INF5040 H
Distribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF5040 foreleser: Olav Lysne Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling
DetaljerDistribuerte objekter og objekt-basert mellomvare
Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming
DetaljerCORBA Objektmodell (Java RMI)
CORBA Objektmodell (Java RMI) IN-ODP høst 2002 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner
DetaljerCORBA & Java RMI & J2EE & CORBA CCM OMG & CORBA
CORBA & Java RMI & J2EE & CORBA CCM IN-ODP høst 2001 foreleser: Frank Eliassen Frank Eliassen, Simula RL &Ifi/UiO 1 OMG & CORBA Object Mangement Group (OMG): non-profit organisasjon med over 800 medlemsorganisasjoner
DetaljerStein Gjessing. Institutt for informatikk. Universitetet i Oslo. Institutt for informatikk
INF1010 11. mai 2017 Monitorer med kritiske regioner og passive venting innbygget i Java - Kommunikasjon mellom prosesser i Java (Ikke pensum i INF1010) Stein Gjessing Universitetet i Oslo 1 Repetisjon:
DetaljerRM-ODP og Multimedia middleware (M3W):
RM-ODP og Multimedia middleware (M3W): INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Litteratur Gordon Blair, Jean-Bernard Stefani, Distributed Processing and Multimedia, Addison-Wesley
DetaljerObjekt-interaksjon. INF 5040 høst 2006
Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Prinsipper for realisering av fjernmetodekall (RMI) Objekt-tjenere CORBA RMI Java RMI Fler-trådede objekt-tjenere Frank
DetaljerIntroduksjon til Distribuerte System (DS)
Introduksjon til Distribuerte System (DS) INF5040 høst 2005 foreleser: Olav Lysne Olav Lysne, SRL & Ifi/UiO 1 Hva er et distribuert system? Definisjon [Coulouris & Emmerich] Et distribuert system består
DetaljerObjekt-interaksjon i objektbasert mellomvare:
Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan CORBA objektmodell Java RMI Prinsipper for realisering av fjernmetodekall
DetaljerJava RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund
Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund Antagelser og forutsetninger Implementasjonseksemplet kompileres og kjøres på Java SDK 1.4.2 Dokumentasjon
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerTime-Independent Invocation(TII) and Interoperable Routing
Time-Independent Invocation(TII) and Interoperable Routing Presentert av: Henning Kulander Eivind Mork Erlend Garberg Introduksjon TII er en teknikk som muliggjør at forespørsler kan leve i nettet uten
DetaljerObjekt-interaksjon i objektbasert mellomvare:
Objekt-interaksjon i objektbasert mellomvare: Fjerne metodekall (RMI) Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!CORBA objektmodell!java RMI!Prinsipper for realisering av fjernmetodekall
DetaljerJava RMI. Introduksjon. Markus Foss Hans-Gunnar Vold
Java RMI Markus Foss Hans-Gunnar Vold Introduksjon Java Remote Method Invocation Tillater metodekall mellom Java virituelle maskiner Introdusert i Java 1.02 Javas svar på RPC, men er objekt orientert,
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive
DetaljerGruppe 11. Frank Petter Larsen Vegard Dehlen
qoskets Gruppe 11 Frank Petter Larsen Vegard Dehlen Problematikk Dagens mellomvare for objektbaserte distribuerte systemer har ikke innebygget støtte for å spesifisere, overvåke og kontrollere tjenestekvalitet
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerObjekt-interaksjon. Plan. INF 5040 høst 2005
Objekt-interaksjon Foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan!Prinsipper for realisering av fjernmetodekall (RMI)!Objekt-tjenere!CORBA RMI!Java RMI!Fler-trådede objekt-tjenere Frank
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens
DetaljerDCOM. 21. oktober Mai et al. Hva er egentlig en komponent?
DCOM 21. oktober 2004 Mai et al. Komponent Hva er egentlig en komponent? En komponent er et programvareobjekt, ment å samvirke med andre komponenter, og tilbyr en gitt funksjonalitet. En komponent har
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerOppsummering og pensumkommentarer. INF5040 høst forelesere: Frank Eliassen, Olav Lysne. Innhold og mål
Oppsummering og pensumkommentarer INF5040 høst 2006 forelesere: Frank Eliassen, Olav Lysne INF-5040 H06 1 Innhold og mål q Innsikt i og kunnskap om prinsipper og praksis for konstruksjon av distribuerte
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerEksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
DetaljerIntroduksjon til Distribuerte System (DS)
Introduksjon til Distribuerte System (DS) INF5040 høst 2003 foreleser: Olav Lysne Olav Lysne, SRL & Ifi/UiO 1 Hva er et distribuert system? Definisjon [Coulouris & Emmerich] Et distribuert system består
DetaljerWeb Services. Olav Lysne
Web Services Olav Lysne Til nå har dere hørt om Mellomvare for objektbasert kommunikasjon brukes vanligvis i anvendelser som er innen én organisasjon, eller innen et tett konsortium av samarbeidende organisasjoner
DetaljerDistributed Component Object Model. Utvikling av distribuerte applikasjoner. Utvidelse av COM for støtte av distribuerte objekter
DCOM Distributed Component Object Model Almir Delkic og Frank Jensen Institutt for Informatikk, Universitetet i Oslo, oktober 2003 Introduksjon Utvikling av distribuerte applikasjoner Utvidelse av COM
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerUtfordringer til mellomvare: Multimedia
Utfordringer til mellomvare: Multimedia INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Utfording fra multimedia til middleware Støtte for multimedia Programmeringsmodell og systemstøtte for
Detaljer2. HVA ER EN KOMPONENT?
Innholdsfortegnelse 1. INTRODUKSJON 3 2. HVA ER EN KOMPONENT? 3 2.1. Litt av historien 3 2.2. UML og komponenter 5 2.3. Noen definisjoner 5 REFERANSER 7 1. Introduksjon Komponenter og komponentbasert systemutvikling
DetaljerJini. Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong. Definisjon
Jini Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong Definisjon Et distribuert system bygd opp som et forbund av brukergrupper og ressurser som brukerne trenger, der ressursene tilbyr brukere
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerOppsummering og pensumkommentarer. INF5040 høst forelesere: Frank Eliassen, Olav Lysne. Innhold og mål
Oppsummering og pensumkommentarer INF5040 høst 2005 forelesere: Frank Eliassen, Olav Lysne INF-5040 H05 1 Innhold og mål! Innsikt i og kunnskap om prinsipper og praksis for konstruksjon av distribuerte
DetaljerPresentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen
SUMO Presentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen Innhold Hva er SUMO Programmeringsmodellen Anvendelser Sammenligning med CORBA Systemstøtte Oppsummering Hva er SUMO
DetaljerKomponentbasert Systemutvikling - Hva, Hvorfor, Hvordan
Komponentbasert Systemutvikling - Hva, Hvorfor, Hvordan Øyvind Matheson Wergeland Master student 23. 1. 2004 Typiske bruksområder for komponenter Sammensatte dokumenter Microsoft OLE og ActiveX (COM) Distribuerte
DetaljerINF3110 Programmeringsspråk. Velkommen til kurset INF 3110/4110. Programmeringsspråk 1/24
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Forelesning 1 20.8.2003 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning
DetaljerINF 3110/4110. Velkommen til kurset. Programmeringsspråk. Først det praktiske
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Først det praktiske Foreleser: Roger Antonsen E-post: rantonse@ifi.uio.no Kontor: rom 3403 Treffetid: etter avtale Undervisning Forelesninger:
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I 5/22/2006 1 Framgangsmåte for automatisk å lage en scanner Beskriv de forskjellige token-klassene som regulære uttrykk Eller litt mer fleksibelt, som regulære definisjoner
DetaljerI objektorientering er det mange elementer som inngår og et av problemene er mangelen på et formelt fundament. Det finnes ingen omforent og formell mo
Objektorienterte databaser Trond Aalberg 1 Introduksjon Dette essayet tar for seg objektorienterte databaser. Innledningsvis gies en beskrivelse av objektorientering generelt (kap. 2), og deretter diskuteres
DetaljerRepitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer
DetaljerBeskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015
Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den
DetaljerINF1010 - Seminaroppgaver til uke 3
INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar
DetaljerVelkommen til. INF våren 2016
Velkommen til INF1010 - våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 INF1010
DetaljerUtfordringer til mellomvare: Multimedia
Utfordringer til mellomvare: Multimedia IN-ODP høst 2001 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Utfording fra multimedia til middleware ÿ Støtte for multimedia ÿ Programmeringsmodell og systemstøtte
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerIntroduksjon til Distribuerte System (DS)
Introduksjon til Distribuerte System (DS) IN-ODP høst 2001 foreleser: Frank Eliassen Ifi/UiO 1 Hva er et distribuert system? Definisjon [Coulouris] Et distribuert system består av maskinvare- og programvarekomponenter
DetaljerDistributed object architecture
Forelesning IMT2243 6. April 2010 Tema: forts. arkitektur og design av programvare Prosjektstatus Programvarearkitektur Oppsummering fra før påske Distribuerte objektarkitektur MDA - Model Driven Architecture
DetaljerINF Obligatorisk innlevering 5
INF1000 - Obligatorisk innlevering 5 Frist: 2. Oktober kl 22:00 Temaer denne uka: Klasser og objekter. I denne obligen skal du som nytt tema jobbe med klasser og objekter, i tillegg til å bruke det du
DetaljerEtter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering
Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt
DetaljerINF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under
Detaljer< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»
< T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar
DetaljerKapittel 5: Objektkommunikasjon
Kapittel 5: Objektkommunikasjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk
DetaljerAv Stein Gjessing, Institutt for informatikk, Universitetet i Oslo
Gaustadbekkdalen, januar 27 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår inne i primærlageret
DetaljerKapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy
Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider
DetaljerObligatorisk oppgave 4: Lege/Resept
Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister
DetaljerRuntime-omgivelser Kap 7 - I
Runtime-omgivelser Kap 7 - I Generelt Språk som bare trenger statiske omgivelser Språk som trenger stakk-orienterte omgivelser Språk som trenger mer generelle omgivelser Vel så riktig å si at forskjellige
DetaljerIntroduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
DetaljerModelerings-prinsipper SOSI Ledning
Modelerings-prinsipper SOSI Ledning Skrevet av Steinar Høseggen og Erling Onstein, august 2012 Hensikt 2 Oversikt over SOSI Ledning 2 Kortbeskrivelse av Kjernemodellen 2 Innledning 2 Objekttyper 3 Egenskaper
DetaljerINF Innleveringsoppgave 6
INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger
DetaljerRuntimesystemer Kap 7 - I
Runtimesystemer Kap 7 - I Språk som bare trenger statisk allokering Språk som trenger stakk-orientert allokering Språk som trenger mer generell allokering Forskjellige slags begreper i et gitt språk krever
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 2. mars 2017 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive
DetaljerLC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Objektorientert modellering
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
DetaljerKap 6.4: Typesjekking Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 19. og 23. mars Dagens tema: Typer og typesjekking
Kap 6.4: Typesjekking Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 19. og 23. mars 2015 Dagens tema: Typer og typesjekking Hva er nå egentlig en «type» i et programmeringsspråk? Hvordan
DetaljerObjekt med Java. Harald Yndestad Høgskolen i Ålesund
Objekt med Java Harald Yndestad Høgskolen i Ålesund Dagens tema Objektorientert programmering Abstraksjon Modul-konseptet Arv Livssyklus 26.10.2002 HiÅ/KBS2001/Yndetad/JavaObjekt 2 26.10.2002 HiÅ/KBS2001/Yndetad/JavaObjekt
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerMer om programmering av aggregeringer
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering og søking LC9D Videregående programmering Semesterplan:
DetaljerUNIVERSITETET I OSLO. Objektdatabaser. ODMGs objektmodell og ODL (Object Definition Language)
UNIVERSITETET I OSLO Objektdatabaser ODMGs objektmodell og ODL (Object Definition Language) INF3100 19.2.2008 Ragnar Normann Institutt for Informatikk 1 Databaser vs objektorientering Det er en inherent
DetaljerDet finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten
Interface, Abstract Class... i-120 : H-98 2a. Abstraksjon i JAVA: 1 Det finnes ingenting som kan gjøres med interface i-120 : H-98 2a. Abstraksjon i JAVA: 2 som kan gjøres med bruk av unntak i-120 : H-98
DetaljerObjektdatabaser. ODMGs objektmodell og ODL (Object Definition Language) g Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET IOSLO Objektdatabaser ODMGs objektmodell og ODL (Object Definition Language) g Institutt for Informatikk INF3100 24.2.2009 Ellen Munthe-Kaas 1 Databaser vs objektorientering Det er en inherent
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell Programmering Tilstand og verditilordning Erik Velldal Universitetet i Oslo 1. mars 2018 Forrige gang 2 Kode som trær 3 Ved evaluering oversettes kildekoden i et språk først til et
DetaljerINF1010 våren 2014. Arv og subklasser - del 2
INF1010 våren 2014 Onsdag 19. februar Arv og subklasser - del 2 Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi Mer om arv / interface Mer om pekertilordninger
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 8. mars 2016 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00
DetaljerFactory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet
Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Slide 2 v Factory Method Pattern Class creational
DetaljerObject interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.
Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører
DetaljerJAVA Oppsummering for IS-102. Even Åby Larsen
JAVA Oppsummering for IS-102 Even Åby Larsen even.larsen@hia.no 26. april 2010 Innhold 1 Innledning 3 2 Hva er et Java program 4 2.1 Kjøring av java programmer................. 4 3 Grammatikk for Java
DetaljerLøsningsforslag Test 2
Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.
DetaljerScientific applications in distributed systems
Scientific applications in distributed systems Kenneth Pedersen Kjetil Pedersen 11. desember 2001 http://faerun.dhs.org/project/ Vårt fokus Løyse numeriske problem ved hjelp av distribuerte system. Numeriske
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk INF5110 April, 2009
Generiske mekanismer i statisk typede programmeringsspråk INF5110 April, 2009 Torsdag 30. april (skattedagen!): Mer om generering av maskinkode (Ferdig oppkopiert hefte deles ut) Tirsdag 5. mai: Mer av
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerINF Oblig 2 semantikksjekk og kodegenerering
INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerIN våren 2019 Onsdag 16. januar
IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Bruk av grensesnitt og implementasjoner i Collection-klasser Java-prog, kap. 14-16 i Big Java Og side 990-997 i Appendix D Collection-rammeverket og iterasjon
DetaljerIN våren 2018 Tirsdag 16. januar
IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Stein Krogdahl INF-5110, 28 april 2005 Temaer: Hva er generiske mekanismer, og hvorfor har vi dem? Hovedtyper av generiske mekanismer Hovedstrategier
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerObjektorientert programmering i Python
Objektorientert programmering i Python IN1000 Høst 2019 uke 8 Siri Moe Jensen Læringsmål uke 8 Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How-to
DetaljerRuntimesystemer Kap 7 - I
Runtimesystemer Kap 7 - I Generell lagerorganisering (7.1) Språk som bare trenger statisk allokering (7.2) Språk som trenger stakk-orientert allokering (7.3) Språk som trenger mer generell allokering (7.4)
DetaljerKap3: Klassemodellering
Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerForelesningsnotat. Kapittel 9 Designing and Constructing Software Code related Issues. Design og utvikling av programvare
Forelesningsnotat Kapittel 9 Designing and Constructing Software Code related Issues 1 Design og utvikling av programvare Grunnleggende metoder (Kap 9.1) Utvikling av kode (Kap 9.2) Programmeringsspråk
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
Detaljer