Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

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
Grundlæggende programmering Efterår 2001
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.
Forelæsning 3.1 Collections Javas for-each løkke
GP6, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 6 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
Eksempel på realisering af domænemodel
Objekter og klasser Rasmus D. Lehrmann DM
Repetition: Introduktion til OOP med C# og .NET
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Forelæsning 2.2 Tilstand og opførsel (repetition)
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.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Forelæsning 7.1 – repetition
Identitet vs lighed. Spørgsmål Hvad udskriver run metoden? 1.”Ens!” 2.”Forskellige!” 3.Ved ikke public class Driver{ public static void run(){ String.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
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.
I o p o DAIMI, AU, November 1999Programkonstruktion I9E.1 Konstruktion og brug af klasser – en stak og en HP-regnemaskine push pop.
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn)
Variabler, klassevariabler, identitet og lighed, collections
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge45 GUI.
 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.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Klassehierarkier Specialisering vha. subklasser. dIntProg, E05Klassehierarkier.2 Oversigt Eksempler på specialisering –Aktør, Koreograf, Skuespiller,
Indledende Programmering Uge 6 - Efterår 2006
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Polymorfi Abstrakte klasser, substitutionsprincippet, statisk og dynamisk type.
 Jens Bennedsen 2001Multimedie programmering13.1 Lingo Objectorienteret Lingo.
 Jens Bennedsen 2001Multimedie programmering11.1 Lingo Basis.
Programmering med interfaces Separering af specifikation, anvendelse og implementation.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
 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 programmering14.1 Lingo Inside LingoLand.
 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.
Introduktion til programmering Repetition. dIntProg, F08Repetition.2 dIntProg Sidste forelæsning (12/10) –kort tilbagemelding på evaluering –repetition.
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;
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2003IOOPContainerklasser.2 Mange objekter Containerklasser –antag at man skal repræsentere.
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 3 – Torsdag
Forelæsning Uge 4 – Mandag
Quiz – Uge 2 – torsdag – første time
Forelæsning Uge 2 – Mandag
Klasser og objekter (Afsnit i manualen).
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 2 – Mandag
Programmering.
Quiz – Uge 3 – torsdag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Torsdag
Præsentationens transcript:

Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister

Jesper Mosegaard Multimedie Programmering E2003 Lingo Director Macromedia Mulighed for OO  Klasser, objekter  Associeringer, polymorphi Adgang til grafik og lyd

Jesper Mosegaard Multimedie Programmering E2003 Idag Et lille program i Lingo Java til Lingo Lingo grafik med sprites

Jesper Mosegaard Multimedie Programmering E2003 Afprøvning I BlueJ kan vi skabe objekter med musen I Director bruges Message Vinduet hvor vi kan skrive Lingo

Jesper Mosegaard Multimedie Programmering E2003 Lingo og Java Modellering  UML diagrammer Implementation  Java / Lingo UML JavaLingo OO Design

Jesper Mosegaard Multimedie Programmering E2003 Simpel Person klasse Lingo(Director) Java(BlueJ)

Jesper Mosegaard Multimedie Programmering E2003 Simpel Person klasse Lingo(Director) Java(BlueJ)

Jesper Mosegaard Multimedie Programmering E2003 Simpel Person klasse Lingo(Director) Java(BlueJ)

Jesper Mosegaard Multimedie Programmering E2003 Simpel Person klasse Lingo(Director) Java(BlueJ)

Jesper Mosegaard Multimedie Programmering E2003 Simpel Person klasse Lingo(Director) Java(BlueJ)

Jesper Mosegaard Multimedie Programmering E2003 Lingo vs. Java Ingen statiske typer / ingen compile-time check af typer. Parent scripts = Java class  Findes også moviescripts og behaviorscripts. return me i konstruktør me som argument til alle metoder afslut statements med linjeskift ikke semikolon

Jesper Mosegaard Multimedie Programmering E2003 Statements : deklaration og initialisering LINGO Field Variabel: property b,c Lokal variabel: a = b Ingen deklaration for lokale Ingen typer Forskel i syntaks på field og lokale. JAVA Field Variabel: T1 b,c; Lokal variabel: T1 a; a = b; Deklaration med type

Jesper Mosegaard Multimedie Programmering E2003 Eksempler på manglende dekleration for lokale variable LINGO s = ”Test” put(s) navn = ”Peter” … p1 = p2 JAVA String s = ”Test”; System.out.println(s); String navn; navn = ”Peter”; Person p1; Person p2; … p1 = p2;

Jesper Mosegaard Multimedie Programmering E2003 Statements: Instantiering LINGO a = Script(”Person”).new(b,c) JAVA a = New Person(b,c);

Jesper Mosegaard Multimedie Programmering E2003 Statements: if LINGO if (b) then --hvis b er sand else --hvis b er falsk end if Linjeskift er vigtigt JAVA if (b) { //hvis b er sand } else { //hvis b er falsk }

Jesper Mosegaard Multimedie Programmering E2003 sandhedsværdier LINGO if (b=d) then if (b AND d) if (b OR d) JAVA if (b==d) if (b && d) if (b || d)

Jesper Mosegaard Multimedie Programmering E2003 Statements: while LINGO repeat while(b) --statements end repeat JAVA while(b) { //statements }

Jesper Mosegaard Multimedie Programmering E2003 Statements: for LINGO repeat with i=0 to 10 --statements end repeat Inklusiv 0 og 10 JAVA for(int i=0;i<=10;i++) { //statements }

Jesper Mosegaard Multimedie Programmering E2003 Konstruktør LINGO on new me,a,b -- metode krop return me end me som argument Ingen statiske typer. Eksplicit returner me. JAVA Public T3(T1 a,T2 b) { //metode krop } Navnet på klassen gentages i konstruktøren.

Jesper Mosegaard Multimedie Programmering E2003 Metode decleration LINGO on metodeNavn me,a,b -- metode krop return c end Ingen statiske typer me som argument JAVA public T1 metodeNavn(T2 a,T3 b) { //metode krop return c; }

Jesper Mosegaard Multimedie Programmering E2003 Metode kald LINGO d.metodeNavn(a,b) me.metodeKald(a,b) Man SKAL skrive me foran metode kald til klassens egne metoder. JAVA d.metodeNavn(a,b); this.metodeKald(a,b) metodeKald(a,b)

Jesper Mosegaard Multimedie Programmering E2003 Lister LINGO a = list() a.add(”test”) put a[1] Lister starter med 1 !!! JAVA ArrayList a = new ArrayList() a.add(”test”); System.out.println(a[0]) Lister starter med 0 !!!

Jesper Mosegaard Multimedie Programmering E2003 Iteration over lister LINGO repeat with e in l -- brug e end repeat Ikke helt som i Java, det er ikke et generelt interface, dette er KUN til lister. JAVA Iterator it = l.iterator(); while(it.hasNext()) { T1 e = (T1) it.next(); // brug e }