The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

Relevanta dokument
Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

F4. programmeringsteknik och Matlab

Concurrency Saker händer samtidigt. Process En instans av ett program

Konstruktion av klasser med klasser

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Objektorienterad Programmering (TDDC77)

Lösningar till tentamen i EDAF25

Klasser som datastrukturer

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

MVC-mönstret. model-view-control i Swing

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Lösningar för tenta 3 DAT043,

I18N språkoberoende. ResourceBundle. Ikoner. Färg. Javadoc. Meny

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Tentamen för TTIT71 Programmering kl Institutionen för datavetenskap Linköpings universitet. Uppgift 1. (2 p)

Parallellism, återblick

Klasshierarkier. Klasser kan byggas på redan definierade klasser

DAT043 - Föreläsning 7

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Lösningsförslag till tentamen

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Lösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011

Objektorienterad programutveckling, fk

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA550 DAG: TID: 8:30 12:30

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

Ni ska ha en uppsättning verktyg som ni kan använda i era fortsatta studier (och även efteråt) Lektion 1. Applikationsprogrammering i Java 7,5 hp

Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Språkkonventioner och redigering av tal.

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Lösningar för tenta 2 DAT043,

Ingenjörsfirman Stéen Java Sida 1 av 1

Classes och Interfaces, Objects och References, Initialization

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Övning Dictionary. Övning 1. Steg 1: På din virtuella maskin, starta Visual Studio.

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

JAR som tar eller zip. Java. Exekvering

Objektorienterad Programmering (TDDC77)

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Föreläsning 12: Exempel och problemlösning

Föreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface)

Designmönster/Design patterns

Objektorienterad Programmering DAT043. Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Generisk klass med typparameter Inre klass - ListIterator

Att skriva till och läsa från terminalfönstret

Properties. Användbara metoder som kan anropas i propertychanged:

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2

Föreläsnings 9 - Exceptions, I/O

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

Objektorienterad Programmering (TDDC77)

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

Enum, mer om Arv, Abstrakta klasser, Polymorfism, Recursion! Förelasning 14!! TDA540 Objektorienterad Programmering!

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TDDC77 Objektorienterad Programmering

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers. Exempel: FlowLayout. Klassen FlowLayout

Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Grundläggande termer. Några olika system. F11 Grunderna i Versionshantering. Git basic. Origin. Git basic. Git basic. Local #1. Local #3.

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Föreläsning 8: Exempel och problemlösning

2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering

Klasshierarkier - repetition

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning:

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Mer om grafiska komponenter. Händelsestyrda program

Transkript:

Innehåll The Last Adventure Den sista lektionen Repetition Examination Slutar 14:45 (minnesstund) Många saker "flashar" förbi - hojta Objektorientering Språket Java Class Object Inheritance Polymorphism Overloading Synlighet Paket Interface/abstract Nested classes Overriding Java - synlighet Java - Paket Public Protected Private "" Paktetera klasser Förhindrar konflikt Omvänt domännamn

Java Interface/abstract Java - Diverse super Exceptions Finalize Clone Java - handhavande Kompilering Exekvering Byte code Virtuell maskin Nested classes Inner classes Member inner Local inner Java - Nested classes Anonymous inner Nytt i Java 1.5 Generics Enumeration Autoboxing Olika antal argument Scanner public class MyPair<V> private V a; private V b; public MyPair( V a, V b ) this.a = a; this.b = b; 1.5 Generics public String tostring( ) return "(" + a + ", " + b + ")";

Model Model Controller View View Controller 1.5 Generics public class Demo public static void main( String[] args ) MyPair<String> strpair = new MyPair<String>( "Hello", "world" ); MyPair<Integer> intpair = new MyPair<Integer>( 5, 6 ); System.out.println( strpair ); System.out.println( intpair ); 1.5 Enumeration public class Person final static public int NORTH = 1; final static public int SOUTH = 2; final static public int WEST = 3; final static public int EAST = 4; public void godirection( int dir ) throws Exception if( dir!= NORTH && dir!= SOUTH && dir!= WEST && dir!= EAST ) throw new Exception( ); // Do something public class Person static public enum Direction NORTH, SOUTH, EAST, WEST ; public void godirection( Direction dir ) // Do something Javas bibliotek Collections Collections Swing Reflection "allt annat" set listor mängder maps MAPS public class Demo public static void main( String[] args ) TreeMap tm = new TreeMap(); Swing Changes Object dummy; dummy = tm.put("ordförande", new Person("Joakim","von Anka",112)); dummy = tm.put("kassör", new Person("Alexander","Lucas",43)); dummy = tm.put("sekreterare", new Person("Kajsa","Anka",44)); Set keys = tm.keyset(); Iterator it = keys.iterator(); Swing - AWT MVC Update model Get data User action Object keyval; while( it.hasnext() ) keyval = it.next(); System.out.println( "(" + keyval + "," + tm.get(keyval) + ")" ); Händelsestyrt Observer - observable

JPanel JFrame JTextField JButton JButton JButton Vad är det som händer igentligen? JPanel JPanel JCheckBox Reflection Serialisering Instanceof Class-klassen Magi Object serialization Magi Trådar Trådar - funktion Funktion Problem Synkronisering Runnable Threads

Trådar - problem Trådar - synkronisering B ber A om info och väntar på svar A B synchronized synkronisering på objekt A ber B om info och väntar på svar public class MyThreadExample extends Thread private String name; public MyThreadExample( String name ) this.name = name; private void dosomething( ) for( int i = 0 ; i < 100 ; i++ ) print( name ); private synchronized static void print( String name ) System.out.print( "Hi " ); System.out.print( "there " ); System.out.print( "world " ); System.out.print( "from " ); System.out.println( name ); public void run() dosomething(); private static Object lockobject = new Object(); private void dosomething( ) throws InterruptedException for( int i = 0 ; i < 100 ; i++ ) synchronized ( lockobject ) System.out.print( "Hi " ); System.out.print( "there " ); System.out.print( "world " ); System.out.print( "from " ); System.out.println( name ); public class MyThreadExample extends Thread private String name; public MyThreadExample( String name ) this.name = name; private void dosomething( ) for( int i = 0 ; i < 100 ; i++ ) System.out.print( "Hi " ); System.out.print( "there " ); System.out.print( "world " ); System.out.print( "from " ); System.out.println( name ); public void run() dosomething(); Trådar - Threads Trådar - Runnable public class Counter implements Runnable private static int count = 0; public void run( ) for( int i = 0 ; i < 9 ; i++ ) count = i; System.out.println( "count = " + count + " i = " + i );

public class Demo public static void main ( String[] args ) throws InterruptedException Thread a = new Thread( new Counter( ) ); Thread b = new Thread( new Counter( ) ); Thread c = new Thread( new Counter( ) ); Thread d = new Thread( new Counter( ) ); Thread e = new Thread( new Counter( ) ); a.start(); b.start(); c.start(); d.start(); e.start(); a.join(); b.join(); c.join(); d.join(); e.join(); Design patterns Ett sätt att dela med sig av sina erfarenheter Lämnar utrymme för egna lösningar men ger ramverket Singleton Java Beans Web applications Ett sätt att bygga "plug-in kod" Setters/getters Reflection Servlets JSP Examination Problem 1 3-timmars skriftlig tenta 10-dagars hemskrivning Skriva ett program Redovisas med kod + rapport som tydligt beskriver lösning. 10 120 1200 20 30 120 3600 60 60 120 7200 120

Problem 2 Bedömning Tenta 20p Godkänt >=10 Hemskrivning Godkänt : funkar Bedömning 0-10 Tenta + hemskrivning => 3a < 7p 4a < 14p 5a >= 14p