Ändringar mellan två versioner
Här visas ändringar i "Föreläsningar" mellan 2016-09-22 16:36 av Anders Lindström och 2016-09-22 16:51 av Anders Lindström.
Visa < föregående | nästa > ändring.
Föreläsningar
På denna sida hittar, för respektive föreläsning
* eventuellt material som du bör gå igenom före föreläsningen så att du är förberedd
* kodexempel som jag tar upp på föreläsningar, samt i vissa fall texter som kompletterar kurslitteraturen
Efter föreläsningen kan du läsa rekommenderade kapitel i kursboken, se kurs-PM, samt göra de rekommenderade övningarna.
De flesta introduktionsfilmerna kommer från iTunes U(niversity) och kräver att du har installerat iTunes.
F01 31/8, Objektorienterad programmering, språket Java Förbered dig genom att se dessa filmer via iTunes U:Freed-Hardeman University, kursen Introduction to Java:- 1 Java Fundamentals (39 min)- 2 Data types and operators (22 min)- 3 Program control statements (10 min)Film 2 och 3 tar upp Java-syntax som du måste kunna men som jag inte tar tid med på föreläsningen.
Mina slides:Språket Java.pdf
Kodexemepel att studera på egen hand: Exempel_pa_javasyntax.zip
F02 2/9, Klasser, inkapsling, m.m. Förbered dig genom att se dessa filmer via iTunes U:Freed-Hardeman University, kursen Introduction to Java:- 4 Classes, objects and methods (18 min)- 6 A closer look at... Fram till 3:50- 5 Array and strings (19 min)
Mitt material:Objektorienterad programmering grundläggande begrepp.pdfAcccount.java, AccountMain.javaCard.java (exempel på en klass vars objekt är "immutable")
En (något utdaterad) introduktion till klasser och inkapsling: Klasser_och_objekt.pdf
F03 5/9, Mer om klasser (static, this, arrayer, String, ... ) Förbered dig genom att läsa punkterna under rubriken "More on Classes" på sidan https://docs.oracle.com/javase/tutorial/java/javaOO/more.html Denna föreläsning tar upp en del detaljer om klasser/objekt som behövs för en fullständig bild, samt enum (enumerations).
Kodexempel:Kodex this, static, arrayer.zipKodex String.zipenum examples.zip
En (något utdaterad) text om samma ämne: Klasser_Objekt_forts.pdf
F04, 9/9 Relationer mellan objekt: association och aggregat. UML Relationer mellan objekt.pdfKodex Shared aggregation.zip, Kodex Composite aggregation.zip
ArrayList.pdfTestArrayList.java
F05 12/9, Arv Förbered dig genom att se dessa filmer via iTunes U:Freed-Hardeman University, kursen Introduction to Java:- 7 Inheritance, fram till 13:40. Notera att det, efter 6 min, felaktigt påstås att "private members are not inherited" - vad som menas är att det inte är möjligt accessa privata datamedlemmar direkt i en subklass.
Bilder från föreläsningen: Arv, grunder (slides).pdfKodexempel: Account.zip, Person.zip, Canonical form.zip
Det är lämpligt att efter föreläsningen läsa en introduktion till klass-diagram enligt Unified Modeling Language, http://dn.codegear.com/article/31863, under rubriken "Class diagrams".
En (något utdaterad) text om ämnet arv (här kallas superklass för basklass): Arv grunder.pdf
F06 21/9, Arv och polymorfism, interface Förbered dig genom att se dessa filmer via iTunes U:Freed-Hardeman University, kursen Introduction to Java:- 7 Inheritance, från13:40 till slutet.
Polymorfism (slides).pdfKodexempel: Polymorfism.zip, Abstract super class.zip
En något utdaterad text om ämnet: Arv_polymorfism.pdf
Interface.pdf, Interface slides.pdfKodexempel: interface Printable.zip, interface Playable.zip, interface java.lang.Comparable.zip
F07 22/9, Collections Framework, speciellt ArrayList. Enhetstestning ArrayList.pdfKodexempel: TestArrayList.java
Enhetstestning: Enhetstestning.pdfPå sidan "Övningar" finns en introduktionsfilm till ett ramverk för enhetstestning, JUnit.
F08 23/9, Exceptions. Strömmar Exceptions Strömmar.pdf (ej fullständig, läs vidare i kurslitteraturen).
Kodexempel: Exceptions.zip, Streams.zipVissa av applikationerna kräver argument till main (ex. filnamn) när de exekveras - se motsvarande övning för information om hur du åstadkommer detta.
F09 26/9, Generics Generics.pdfKodexempel, generics.zip
F10 29/9 OO Analys och Design Obligatorisk övning om OO Analys och Design, se laboration 4.
F11-12, 5-6/10, Introduktion till GUI och Event-handling. Model-View-Controller GUI, EventHandlers.pdf
Kodexempel: Basic JavaFX GUI.zip, Event examples.zip
Model-View-Controller Model-View-Controller.pdf
Kodexempel: Simple MVC example.zip, MVC example.zip (det senare med en separat controller-klass)
Några fler komponent-exempel More components.zip (ComboBox, FileChooser, TextArea, Image och ImageView, AnimationTimer, "property bindings"). Notera att dessa exempel endast ska demonstrera användandet av några grafiska komponenter och inte följer M-V-C-mönstret.
Dialogfönster: JavaFXDialogExample.java Det går också att skapa dialogfönster med Stage-objekt: DialogUsingJavaFxStage.java
Tutorials om JavaFX Getting started: https://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm
Events, tutorial: http://docs.oracle.com/javafx/2/events/jfxpub-events.htm
Kodexempel för alla "controls" i JavaFX: http://docs.oracle.com/javafx/2/ui_controls/jfxpub-ui_controls.htm
JavaFX Scene Builder (inget som tas upp i denna kurs, men för den vetgirige...) Det finns ett antal verktyg för att med hjälp av "drag and drop" skapa sammansatta vyer. Källkoden för vyerna genereras då i bakgrunden. Ett sådant verktyg är "Scene Builder", som finns integrerat i Netbeans.
Scene Builder använder sig också av det faktum att man kan definiera vyer via XML-dokument (.fxml) som sedan används för att generera källkod för de verkliga vyerna.
En tutorial för Scene Builder: http://docs.oracle.com/javafx/scenebuilder/1/use_java_ides/sb-with-nb.htm
F13 7/10, Trådar och synkronisering Threads.pdf
Thread examples.zip, Synchronization.zip
F14 12/10, Designmönster Design Patterns.pdf
Singleton.java, Comparator.zip, Subject-Observer example.zip
F15, 13/10 Reserv. Frågor om laborationer.
F16 14/10, Inför tentamen + andra objektorienterade språk Information om tentamen: se kurswebben/Tentamen, speciellt dokumenten "Viktiga begrepp" och "Java - snabbreferens".
Andra OO språk: OO languages.pdf