 Jens Bennedsen 2001Multimedie programmering11.1 Lingo Basis.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

07 – Kort om OO Introduktion.
Indledende Programmering Uge 2 - Efterår 2006 Selektioner og interaktion mellem objekter Susanne Brix Lindros.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Objektorienteret programmering
Hvordan man skriver koden.
VOOP, 8 april Refleksion i objekt orienterede programmeringssprog Mandag 8/ Kasper Østerbye.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP 10, 7/ Grundlæggende programmering Efterår 2001 Forelæsning 10 onsdag 7/ kl. 9:15 – 12:00.
Eksempel på realisering af domænemodel
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Objekter og klasser Rasmus D. Lehrmann DM
Repetition: Introduktion til OOP med C# og .NET
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Forelæsning 2.2 Tilstand og opførsel (repetition)
Fundamentale sprogbegreber
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Quiz 3.1. Quiz 1 – Assignment dIntProg, E14 Hvad er værdierne af x og y efter udførelse af følgende program? 1.x er 6, y er 3 2.x er 8, y er 5 3.x er.
Objektorienteret programmering – UML2Java.  Jens Bennedsen 2001Multimedie programmering8.2 Indhold Klasser og associering til enkelt objekt –Programmering.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
Systemudvikling – Fra idé til kode.  Jens Bennedsen 2001Multimedie programmering9.2 Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende.
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn)
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 Jens Bennedsen 2002Objektorienteret systemudvikling Persistens.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge45 GUI.
 Jens Bennedsen 2001Multimedie programmering10A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
 Jens Bennedsen, 2003Introducerende objektorienteret programmering Exceptions.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Klasser og objekter. dIntProg, E08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
 Jens Bennedsen, 2003Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
 Jens Bennedsen 2001Multimedie programmering MVC Et mønster for grænseflader.
 Jens Bennedsen 2001Multimedie programmering13.1 Lingo Objectorienteret Lingo.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge46 Ancestor.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering1.1 Skildpadder Modeller, objekter og opførsel.
 Jens Bennedsen 2001Multimedie programmering14.1 Lingo Inside LingoLand.
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge45 Associeringer.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
 Jens Bennedsen, 2003, revideret af EE Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Objecter Introduktion Webintegrator HF1 PHP Object orienteret.
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Klasser og objekter (Afsnit i manualen).
Simpel test-client (javascript) Session og Application data
Programmering.
Parametrisering En kort introduktion.
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Mandag
Præsentationens transcript:

 Jens Bennedsen 2001Multimedie programmering11.1 Lingo Basis

 Jens Bennedsen 2001Multimedie programmering11.2 Typer Lingo er et utypet sprog –Når man erklærer variabler skal typen ikke defineres –Når man oversætter fanges ikke typefejl F.eks. vides det ikke om et objekt har en metode eller ej før på køretidspunktet on startmovie member("theSandbox").image = member("emptySandbox").image member("turnParam").texty="" member("moveParam").text="" member("penUpDown").hilite=false theSandbox = script("Sandbox").new() theTurtle =script("Turtle").new(theSandbox) end

 Jens Bennedsen 2001Multimedie programmering11.3 Klasser En klasse i lingo hedder et parent script Scripts er tilgængelige overalt Et script beskriver de attributter og operationer klassen skal have

 Jens Bennedsen 2001Multimedie programmering11.4 Et eksempel Den gode gamle Turtle:

 Jens Bennedsen 2001Multimedie programmering11.5 Turtle klassen property direction -- retning i grader property penDown property sandbox on move me,length fromCoordinate = turtleSprite.loc turtleSprite.locV=turtleSprite.locV+sin((direction/180.0)*pi)*length turtleSprite.locH=turtleSprite.locH+cos((direction/180.0)*pi)*length if penDown then sandbox.draw(fromCoordinate, turtleSprite.loc) end if end on turn me,degrees direction=direction+degrees turtleSprite.rotation=direction end on penUp me penDown=false end on penDown me penDown=true end Metoden: turn(deg:int):void

 Jens Bennedsen 2001Multimedie programmering11.6 Opsamling klaser En metode: on method me, parameter1, parameter2 Et kald: objekt.metode(aktuelParam1, aktuelParam2) En attribut: property attribut1 Afskærmning –Alt er public!

 Jens Bennedsen 2001Multimedie programmering11.7 Konstruktion En constructor er ”bare” en metode Oprettelse af et objekt: on new me,sandb turtleSprite=sprite(2) direction = 0 penDown = true sandbox=sandb return me end Husk at returnere objektet! theTurtle =script("Turtle").new(theSandbox) Navnet på parent-scriptet parameter Grafikken til vores skildpade er i spritekanal 2. Det er også et objekt

 Jens Bennedsen 2001Multimedie programmering11.8 Globalt tilgængeligt Et globalt tilgængeligt objekt : Skal initialiseres et eller andet sted: Alle steder den kan anvendes skal den erklæres Og kan ændres alle steder! global theTurtle theTurtle = script("Sandbox").new() theTurtle =script("Turtle").new(theSandbox)

 Jens Bennedsen 2001Multimedie programmering11.9 Sætninger Et assignment: objekt1 = objekt2 Sekvensering af sætninger sætning1 sætning2 Selektion if betingelse then sætning [else sætning] end if Selektion - fortsat case ( udtryk ) of value1: sætning(er) value2,value3: sætning(er) otherwise: sætning(er) end case

 Jens Bennedsen 2001Multimedie programmering11.10 Sætninger (2) Iteration repeat while betingelse sætning(er) end repeat repeat with index = start to end sætning(er) end repeat repeat with index = last downto first sætning(er) end repeat Udskrift til consollen put...

 Jens Bennedsen 2001Multimedie programmering11.11 Andet end parent scrips Movie scripts –Ting knyttet til filmen - ex on startMovie Behavior scripts –Bruges f.eks. til at fange hændelser fra en komponent (=controller laget i MVC) global theTurtle on mouseUp me length = integer(member("moveParam").text) theTurtle.move(length) end

 Jens Bennedsen 2001Multimedie programmering11.12 Lad os lave et eksempel JFrame Observer KontoGUI model:Konto saldoLabel:JLabel saldoText:JTextField ndrText:JTextField +KontoGUI(model:Konto) +update(o:Observable,arg:Object):void -KontoGUI Observable Konto -saldo:double +Konto() +getSaldo():double -notifyObs():void Observer KontoAlarmGUI -model:Konto +KontoAlarmGUI(model:Konto) +update(o:Observable,arg:Object):void +indsæt(double) +hæv(double)