Hvad er et distribueret objekt? Plan Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation
|
|
- Robert Brøgger
- 8 år siden
- Visninger:
Transkript
1 Plan Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et distribueret objekt? Et objekt hvis metoder kan kaldes fra andre processer dvs. som tillader fjernprocedurekald ( fjernmetodekald?) bemærk metoden udføres lokalt principielt processer som kører på forskellige maskiner ikke nødvendigvis fjerne kald/brug af konstruktorer eller attributter De basale problemer: hvordan etableres forbindelse til objekt i en anden proces? hvordan kommunikeres hvilken metode, der ønskes kaldt? hvordan overføres parametre og returværdi? Design spørgsmål: hvorledes opnås en passende transparens? semantik: hvad er opførslen i tilfælde af fejl? Objekter: notation Class Client <kode dvs. definitionen af class Client> et objekt, som er en instans af class Client Objekter, objektreferencer, metoder, parameteroverførsel Class Client Server s = new Server; Data d = new Data(); String txt = s.p(d); s.p(d) class Server // konstruktorer server(){..; // attributter Worker w; class Data objektet har en attribut, som er en instans af class Data class Data <en tekst> // metoder String p(data d){..; Objektreference (variabel): kan være implementeret som C pointer (tænk på pointer til datastruktur i C) Metodekald (lokalt): vil være oversat til maskinkode eller bytecode bruger ikke nødvendigvis navnet p
2 Opgave: Skriv pæn definition af class Client Løsning Class Client Server s = new Server; Data d = new Data(); String txt = s.p(d); Class Client Server s = new Server; Data d = new Data(); String txt = s.p(d); Class Client Server s; String txt; public Client () { s = new Server(); d = new Data(); public void gettext() { txt = s.p(d); Distribuerede objekter: begreber Navneservice: service som returnerer referencer til distribuerede objekter ud fra symbolske, globale navne (tekster) Reference til distribuerede objekter ( fjernreference?) En objektreference, som logisk set refererer til et distribueret objekt Parameteroverførsel parametre til fjernprocedurekald bør kunne være af vilkårlig type, herunder være et vilkårligt objekt call by value: overførsel af kopi, vs. call by reference: overførsel af reference Marshalling: forbehandling af argumenter til fjernprocedurekald, især serialisering: transformation af objekter til bytesekvens Stub (proxy): et objekt på klientsiden som kaldet går igennem Skelet: et objekt på serversiden som kaldet går igennem Dispatcher: tråd på serverside, som modtager kaldet, behandler evt. dette ved at kalde metoder i skelettet A Referencer i fjernprocedurekald (jf. CDK figur 5.6) Stub Fjernref. modul Komm Klient med objekt A Komm Fjernref. modul Skelet A har en fjernreference til B refererer logisk set til B. A s fjernreference er i virkeligheden en reference til stubben (svarer til en C pointer). Stubben indeholder en egentlig, global reference til B (en datastruktur med IP nummer m.m.). Den globale reference til B oversættes af fjernreferencemodulet hos serveren til en lokal reference til B (igen svarende til en C pointer). Navneservice ikke vist på tegning B Server med distr. objekt B
3 Plan Hello World! Opgave 1 Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen HelloApplet sayhello() Hello World! Klientprogram: applet som ikke selv ved hvad den skal skrive ud. HelloImpl String sayhello() { return Hello World! ; Serverprogram: indeholder distribueret objekt med sayhello() kunne være kompliceret server, som vi vil styre via browser Opgave 1: klientsidens kildetekst <html> <applet codebase=../../classes/ code=rmihello.helloapplet width=350 height=120> </applet> </html> package RMIHello; import..; public class HelloApplet { Hello obj; String msg; void init() { try { lookup() modtager // /HelloServer og returnerer en fjernreference obj = (Hello)Naming.lookup( // + getcodebase().gethost() + /HelloServer ); msg = obj.sayhello(); catch (..) {.... Opgave 1: et interface som både server og klient skal kende package RMIHello; import..; public interface Hello implements Remote { public String sayhello() throws RemoteException;
4 Opgave 1: serverens kildetekst package RMIHello; import..; public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl { super(); // eksporterer objektet // dvs. indføjer i det lokale kommunikationsmodule public String sayhello() { return Hello World! ; // definerer metoden der kan kaldes fjernt public static void main(..) {.. // security manager try { HelloImpl obj = new HelloImpl(); Naming.rebind( HelloServer,obj); // offentliggører objektet under symbolsk navn catch (..) {.. Klient Brug af RMI Registry et obj = (Hello)Naming.lookup (..HelloServer ); msg = obj.sayhello(); tid Server obj = new HelloImpl(); Naming.rebind( HelloServer,obj); Opgave 1: oversættelse Brug af "Stubbe" Hello.java HelloApplet.java HelloImpl.java javac javac javac Hello.class HelloApplet.class HelloImpl.class Oprettelse af reference til fjernt objekt Klient Har du et objekt ved navn "HelloServer"? Stub bytecode + stub instans Server Kommando: javac X.java X.java javac rmic v1.2 HelloImpl_Stub.class brug Klient Stub Server
5 Opgave 1 kør RMI involverer tre processer maskine 1: <prompt> java rmiregistry & <prompt> java RMIHello.HelloImpl maskine 2: <prompt> appletviewer RMIHello/hello.html Proces A Har du et objekt ved navn "o"? Den tredje proces (C): På serversiden er der også en naming service objektet obj er registreret under navnet "o" obj Proces B o Proces C Ny opgave: skriv almindelig Java klient, som svarer til HelloApplet package RMIHello; import java.rmi.naming; import java.rmi.remoteexception; public class HelloClient { String message = "blank"; Hello obj = null; public HelloClient() { try { obj = (Hello)Naming.lookup("// /HelloServer"); message = obj.sayhello(); catch (Exception e) { System.out.println("HelloClient exception: " + e); public static void main(string args[]) { HelloClient hc = new HelloClient(); System.out.println(hc.message);
6 Plan Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse RMI Middleware Softwaren som muliggør grænseflade til fjerne objekter: metodekald oprettelse af referencer Implementeret vhja. sockets Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Marshalling/unmarshalling serialisering, genskabelse af struktur fejlhåndtering oversættelse af referencer A Stub Komm Fjernref. modul Opgave 1: Stubbe Java serialisering // Bytecode for class HelloImpl_Stub samt en instans af den overføres til klient // på passende tidspunkt Class HelloImpl_Stub public String Hello() { <serialize> <send to remoteobj> <remoteobj> public class Person implements Serializable { private String name; private String place; private int year; public Person(String n, String p, int y) { name = n; place = p; year = y; Muliggør entydig konvertering mellem objekter og bytesekvenser Serialiser et objektet dannet med sætningen Person p = new Person( Jensen, Kbh. + / + DK, 1975); Hvorfor overføre klassenavn? versionsnummer?
7 To måder at overføre objekt referencer mellem processer (1) Via naming service jf. HelloServer (2) Som parametre til fjernprocedurekald Opgave: hvordan bruges metode (2) i CDK s tavle eksempel? Fælles: de objekter, der overføres referencer til, skal implementere et interface, som er kendt hos både server og klient, og som nedarver fra java.rmi.remote de objekter, der overføres referencer til, skal være instanser af klasser som der på server siden er genereret stubbe til Forskel: (1) kræver rebind()/lookup i rigtig rækkefølge (1) kræver brug af symbolsk navn på det/de distribuerede objekter Fejlhåndtering, RMI request/reply protokol Basis for kommunikationsmodulet i Java RMI er en request/reply protokol med tre basale operationer: byte[] dooperation(remoteobjectref r, methodid m, byte[] args) sender fjernprocedurekald, efter serialisering, fra klient til server. ud fra r, findes (ip,port) m pakkes med ind i bytesekvens byte[] getrequest() lytter efter andre processer, der har kaldt dooperation() sendreply(byte[] r, InetAddress ip,int port) sender svar Oversættelse af referencer Når getrequest() modtager et kald af byte[] dooperation(remoteobjectref r, methodid m, byte[] args) skal objekt og metode findes (og argumenter skal genskabes som objekter). Objekt findes via fjernreferencemodul. Metode findes enten via skelet (i JDK 1.1) eller via Javas reflektion (i JDK 1.2 og senere). Skal dooperation gentages hvis der ikke kommer svar? Skal getrequest filtrere dubletter?
8 Plan Refleksion Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation: refleksion tråde/synkronisering RMISecurityManager Forklaring af øvelsen Reflektion i Java: klasser kan forholde sig til sig selv! for en givent navn på en klasse, kan man få en reference til et objekt, der repræsenterer klassen (et class Class objekt) for et givet class Class objekt, kan man få en reference til et array af objekter, der repræsenterer klassens metoder. C har en begrænset refleksiv facilitet idet C programmet har adgang til deres eget stinavn main(int argc, char * argv[]) { printf( usage: %s <filnavn>, argv[0]);.. Class: package java.lang; java.lang.class & java.lang.reflect.method class Class { Class forname(string classname) {.. Method getdeclaredmethod(string methodname, Class[] paramtypes){.. Method[] getdeclaredmethods(){.. Method: package java.lang.reflect; class Method { void invoke(object obj,object[] params) {.. obj = (Hello)Naming.lookup (..HelloServer ); msg = obj.sayhello(); RMI og tråde obj = new HelloImpl(); Naming.rebind( HelloServer,obj);... obj.sayhello(); //??? Metoder (f.eks. sayhelloi()) i distribuerede objekter kan blive udført af flere tråde samtidigt. Hvilke tråde? Er det et problem?
9 (RMI)SecurityManager I Java er et SecurityManager objekt et objekt der håndterer sikkerhed for en proces: hvilke fremmede maskiner må tråde i processen kontakte (via sockets)? hvilke klasser må downloades fra fremmede maskiner? En SecurityManager styres af en sikkerhedspolitik fil og/eller ved at overskrive metoder i class SecurityManager // fra class HelloImpl if (System.getSecurityManager == null) { System.setSecurityManager = new RMISecurityManager(); try { HelloImpl obj = new HelloImpl(); Naming.rebind(HelloServer,obj); catch (..) {.. UnsafeRMISecurityManager UnsafeRMISecurityManager() { super(); public void checkconnect(string host,int port) { if ( host.equals("lt nielsj") host.equals(" ") ) { System.err.println("Accepting.. ); else super.checkconnect(host,port); Plan Oversigt over grundlæggende begreber Opgave 2 Tilføj en metode HelloImpl.sayHello() der tager et argument hvis værdi angiver hvilket sprog, der skal siges "hallo" på. Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen HelloApplet sayhello( Danish ) Hej Verden! HelloImpl
10 Opgave 3 Et fjernt objekt hos klienten skal angive sproget/nationaliteten. HelloApplet HelloImpl sayhello(myid) Hej Verden! IdImpl getid() Danish
RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.
Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter
Læs mereRMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Læs mereNote om RMI af Peter Kjærsgaard
Note om RMI af Peter Kjærsgaard 1. Filosofi Filosofien i RMI er, at et objekt på en server skal kunne kaldes fra en klient, som om server-objektet lå på klienten. RMI er dermed på et højere niveau end
Læs mereVideregående Programmering Obligatorisk opgave - 3. semester, efterår 2004
Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Læs mereRMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007
RMI med BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 Hvad er RMI? Når man arbejder med Distribuerede Systemer, som igen vil sige at man ønsker at flere end én komputer
Læs meredmasark Aflevering - Uge 50
dmasark Aflevering - Uge 50 Michael Lind Mortensen, 20071202, DAT4 Michael Dahl, 20073943, DAT4 Katalog: http://www.daimi.au.dk/ u073943/dmasark/uge6/ 13. december 2007 Indhold 1 PingClient implementation
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereTree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Læs mereTest af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
Læs mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs mereDag 10 Flertrådet programmering
Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereVideregående programmering i Java
Videregående programmering i Java Dag 6 Komponenter (og lidt Swing og MVC) Læsning: VP 4, evt. VP 6 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html Grafiske komponenter
Læs mereSWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Læs mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereThreads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
Læs mereProgrammering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft
Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:
Læs mereObjektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
Læs mereclass subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.
Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereDM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
Læs mereProgrammering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.
Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3
DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget
Læs mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereimport java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label
Programmering 1999 Forelæsning 13, tirsdag 12. oktober 1999 Oversigt Grafiske brugergrænseflader. Komponenter: Knapper, tekstfelter, checkbokse... Vinduer (containere). Hændelser, hændelsesstyret programmering.
Læs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereOverblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java
OOP1 Java intro. Klasser, objekter, interfaces, nedarvning, Association, Aggregation og Composition mvh. Try and catch exceptions. Package Intro. til jar filer. Overblik Compile-time Environment Run-time
Læs mereJacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004
Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret
Læs mereKursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing
Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt
Læs mereSend fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.
Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt
Læs mereSoftware Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Læs mereVirkefeltsregler i Java
Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten
Læs mereObjektorienterede metoder
Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags
Læs mereCodeDOM - Dynamisk generering og kompilering af kode
Denne guide er oprindeligt udgivet på Eksperten.dk CodeDOM - Dynamisk generering og kompilering af kode Med CodeDOM kan man på runtime generere kode, kompilere det og derefter afvikle det. I denne artikel
Læs mereIntegrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
Læs mereKlasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.
Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
Læs mereKursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger
Velkommen til Kursus 02199: Programmering ved Anne Haxthausen IMM, DTU 4. september, 2001 1. Praktisk information 2. Introduktion til faget (a) kursusmål og motivation (b) hvad er en datamaskine, et program,
Læs mereIntroduktion til ActionScript, fortsat
Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling
Læs mereDag 10 Flertrådet programmering
Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,
Læs mereGeografisk lokalisering i JSP
Denne guide er oprindeligt udgivet på Eksperten.dk Geografisk lokalisering i JSP Denne artikel forklarer lidt om hvorfor og hvordan man laver geografisk lokalisering og viser noget kode. Der er andre artikler
Læs mereSingleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September
Læs mereBRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
Læs mereGrundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering
Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler
Læs mereI profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller
Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6
DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...
Læs mereJava Programmering. En bog for begyndere. Skrevet af Henrik Kressner
Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6
Læs mereVersion Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.
MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs mereHvordan vælger jeg dokumentprofilen?
Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereMaskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1
Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,
Læs mereProgrammering I Java/C#
Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren
Læs meredintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereEksempel på en database: studenter, kurser, eksamener
Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Læs mereComputer netværk og TCP/IP protokoller. dcomnet 1
Computer netværk og TCP/IP protokoller dcomnet 1 Maskinarkitektur.. fokus på intern organisation af en enkelt computer: dcomnet 2 Computer netværk.. kommunikation mellem maskiner forbindet i et netværk:
Læs mereProcesser. DS kursusgang nr. 2: Procestræer. ps: Vis processer
DS kursusgang nr. 2: Processer 1. Definition af processer/tråde? eksemplificeret med fork() og exec() (procesdannelse i C under unix) 2. C vs. Java (overordnet + funktioner) 3. Processer vs. tråde: Server:
Læs mereAssignment #5 Toolbox Contract
Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal
Læs mereCivilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104
Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave
Læs mereLøsning af møntproblemet
Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet
Læs mereDatabaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Læs mereEksamens spørgsmål i Java HTML - DataBase 3. Semester (i)
Eksamens spørgsmål i Java HTML - DataBase 3. Semester (i) 1: KLASSE METODE KONSTRUKTØR EKS. PÅ TYPE (VARIABLE) PUBLIC/PRIVATE OBJECT UD FRA KLASSE KALD METODE TILFØR PARAMETER TIL METODE RETURNERE VARIBEL.
Læs mereSigmaT.
Java + Groovy Disposition Om SigmaT Eksempel på indlejring af Groovy Overvågning af PEM Ønske om dynamisk loaded Java uden at fifle med classloaderen Groovy til hjælp Opsamling hvad jeg ikke har fortalt
Læs merePolymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion
Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt
Læs mereVideregående programmering i Java
Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status
Læs mereIntroduktion til C programmering
Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler
Læs mereSoftware Construction 1. semester (SWC) januar 2014 Spørgsmål 1
Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning
Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:
Læs mereJSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007
JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal
Læs mereMETODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
Læs mereOffset til terminalskærm i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Offset til terminalskærm i Java Ikke en atikkel - men en Classe til java der gør det nemt at skrive ud på avancerede måder når man kun opererer i dosvindue.
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)
Læs mereRefleksion i Java. 8. juli 2003
Refleksion i Java Udarbejdet af: Jesper Tejlgaard Pedersen Anders Baumann Tine Thorn IT-højskolen i København 4-ugersprojekt F2001 Vejleder: Kasper Østerbye 8. juli 2003 1 Indhold 1 Forord 3 2 Indledning
Læs mereSproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSpeciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
Læs mereArkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
Læs mereIndledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.
Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereKlasser og Objekter i Python. Uge 11
Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)
Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer
Læs mere//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Læs mere02101 Indledende Programmering Introduktion til Eclipse
02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug
Læs mereA Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Læs mereSerialization i Java
Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men
Læs mereDvs. at give dit program muligheden for at loade og bruge plugins som andre har lavet.
Denne guide er oprindeligt udgivet på Eksperten.dk Refleksion med.net Refleksion bruges til at undersøge klasser på runtime tidspunktet. Se hvordan du f.eks. loader en klasse fra en DLL, gennemkigger dens
Læs mereEG Data Inform. Byggebasen. WCF og webservices. Jens Karsø
EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...
Læs mere