Objects First with Java A Practical Introduction Using BlueJ



Relaterede dokumenter
IFC Egenskaber. Mohammad Hussain Parsianfar s BYG DTU

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Objektorienteret design med arv og polymorfi:

Forelæsning Uge 2 Torsdag

Undervisningsbeskrivelse

Læringsmiddel Geogebra: Rombens sammen mellem omkreds og areal

Programmering 2. dprog2 E

Undervisningsbeskrivelse

Grundlæggende Programmering ITU, Efterår Skriftlig eksamen i Grundlæggende Programmering

Arbejde med 3D track motion

Programmering 2. dprog2 E

Undervisningsbeskrivelse

Undervisningsbeskrivelse

HTX, RTG. Rumlige Figurer. Matematik og programmering

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Introduktion til GeoGebra

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Table of Contents Page 2

Forelæsning Uge 4 Torsdag

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september (Tak til Jakob Bardram for nogle slides) Dagens begreber

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Vejledning til Photofiltre nr.128 Side 1

Vejledning til opbygning af hjemmesider

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Introduktion til Flash

Greenfoot En kort introduktion til Programmering og Objekt-Orientering

Workshop G3 MicroStation V8 XM edtion nye værktøjer 1

APPENDIX A INTRODUKTION TIL DERIVE

4 Basal Objekt-orienteret Programmering I.

Forelæsning Uge 2 Mandag

Testservice med anvendelse af Microsoft software.

Videregående programmering i Java

Introduktion til Flash

Generel projektbeskrivelse

DM507 Algoritmer og datastrukturer

Abstrakte datatyper C#-version

Gratisprogrammet 27. september 2011

Kursusgang 12. Oversigt: Sidste kursusgang Layout-manager Event-håndtering. Design af brugerflader 12.1

OrCAD Capture TCL IDE med Eclipse

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer

Sekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen

DM507 Algoritmer og datastrukturer

Større skriftlige opgaver i Microsoft Word 2007 Indhold

Guide til Condes. Indhold:

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

02101 Indledende Programmering Introduktion til Eclipse

Betjeningsvejledning. Brugerhåndtering på SafeLAN Mini- og Filial-anlæg

Matador. Hvert hus koster: 2000 Et hotel koster: huse Pantsætningsværdien er 2000 kr.

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

Forelæsning Uge 2 Torsdag

Ugeseddel 4 1. marts - 8. marts

Classic Tween. Navigationsseddel. Fase Forklaring Navigation. Åbn en ny Flash File. Åbn Flash, vælg symbolet ud for ActionScript 3.0.

VEJLEDNING I WEBKORT

Skriftlig eksamen i Datalogi

vorbasse.dk Redaktørmanual Kentaur

Problemløsning i hverdagen (1) Introduktion til objektorientering. Delegering til agenter. Problemløsning i hverdagen (2)

Kvantitative Metoder 1 - Forår Dagens program

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Introduktion. Properties (egenskaber) Timeline (Tidslinien) Stage (hovedscenen) kan redigeres.

b) 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.

Installation af GPS med tilslutning til USB port

MSI pakke til distribution af AutoPilot komponenter.

Prezi. Aldrig mere gammeldaws slideshows!? Version: December 2012

DMX styring med USB-interface

Introduktion til ActionScript

Photoshop CC F u F ture tur Co C mpany an - y www. w future tur co c mpany an. y dk

Vejledning til COOP Amba s nye afregningsløsning, Concur, gennem TPEnet

1. Værktøjspaletten i Photoshop Elements.

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

GEOMETER-BANALITETER DEC SIDE 1

Computerundervisning

Indhold Anvendelse... 2 Lav et filter... 2 Output... 3 Query... 7 Gør filteret lgængeligt... 9 Filtre på Requests...

Opgavestyring, op og download af mange filer

Undervisningsbeskrivelse

Programmering I Java/C#

Kursus navn: Indledende programmering Kursus nr

Klasser og objekter. (Afsnit i manualen)

Kom i gang med Course Tool 1.2

Dynamicweb Quickguide

Indholdsfortegnelse Introduktion... 5 Start Photoshop Elements 11 (Velkomstskærmen) Opret en ny kalender via Create-menuen... 16

3 Algebraisk Specifikation af Abstrakte Datatyper.

WELLPLOT ARCGIS BRUGERMANUAL I G I S A P S

Vejledning i behandling af kladdesager i GeoDK, som stammer fra Geokoderen.dk

Programmering og Problemløsning, 2017

Undervisningsbeskrivelse

DM507 Algoritmer og datastrukturer

Fig. 1 En bue på en cirkel I Geogebra er der adskillige værktøjer til at konstruere cirkler og buer:

Adobe Digital Editions

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

Lineær Programmering i GeoGebra Side 1 af 8

Vejledning: Anvendelse af kuber på NS-data fra LDV i Excel Målgruppe: Slutbruger

Fase Forklaring Navigation. Åbn Flash, vælg symbolet ud for Actions Script 3.0. Markér frame 15, højreklik og vælg F6

Hundeweb Brugermanual Opret DJU prøver m.m.

Transkript:

Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet BlueJ Objektorienterede programmeringsprincipper vigtigere end Java sprogdetaljer To værktøjer: Java Et sprog hvori man kan udtrykke de objektorienterede begreber BlueJ Et udviklingsmiljø kendetegnet ved - Enkel brugergrænseflade - Visualiserer programstrukturen - Objekter håndteres direkte Lær ved at læse og efterligne gode eksempler 1

Besøg websites: http://www.personed.co.uk/barnes Click på Companion Website bringer os til http://www.bluej.org/objects-first med Book Information Fx Errata Resources Fx Code Style Guide giver bogens Appendix J på skærmen Additional Information Fx BlueJ åbner for at få yderligere information om BlueJ, fx en tutorial (pdf-fil) 2

Nogle hovedidéer bag bogens opbygning: Projektstyret introduktion af stoffet Mål Opgave Analyse Modellering Nødvendige sprogkonstruktioner Projekterne er omhyggeligt implementerede Sprogdetaljer kan studeres ved at læse programteksterne Ikke struktureret ud fra hensynet til Java s sprogkonstruktioner 3

Dagens emner: Objekter og klasser Modeller Eksempler på modeller: Tegne og flytte figurerne cirkler, kvadrater og trekanter - projektet shapes Dan et bestemt billede bestående af figurer fra shapes - projektet picture Studerende på laboratoriehold - projektet labclasses En simpel billetautomat - projektet naiveticket-machine 4

Objekter og klasser En bil objekt eller klasse? Karakteristika for en (vilkårlig) bil, fx - Har en farve - Kan ommales (repaint) Olsens bil - er blå Hansens bil - er rød objekt eller klasse? Begge de to biler kan ommales 5

Begreber: En bil er en klasse, Car Olsens bil er et Car-objekt med farven blå Hansens bil er et Car-objekt med farven rød En bils farve er en attribut Ommaling er en operation En Java-klasse (Kapitel 2) definerer: Attributter som felter der har bestemte værdier Objekt-generatorer som konstruktorer Operationer som metoder, der kan have parametre, fx repaint(nyfarve) med parameteren nyfarve 6

Modeller En model er en beskrivelse af en lille afgrænset verden og dens egenskaber En model består af en struktur af objekter, fx en struktur bestående af en samling af bestemte biler Forskellige modeller hvori biler indgår: Motorregisteret i Danmark Et øjebliksbillede af placeringen af samtlige biler på DTU? Skal bilklassen tilpasses modellen Normalt ville en model med en bilklasse uafhængig af anvendelsen være at foretrække 7

Med brug af BlueJ vil vi nu eksperimentere (lege) med de givne Java-modeller shapes picture labclasses naive-ticket-machine for at Opnå fortrolighed med håndtering af objekter: Dan objekter Kig på dannede objekter Udfør metoder på objekter Introducere lidt Java-kode, source code Vise lidt dokumentation 8

Projektet shapes (1) Tegne og flytte cirkler, kvadrater og trekanter på et lærred (klassen Canvas) Figure 1.1 Højreklik på klassen Circle og vælg new Circle() Klik OK viser det dannede objekt Udvidet Figure 1.2 Udfør Exercise 1.1 (lærebogen side 5) 9

Projektet shapes (2) Højreklik på objektet circle2, vælg movehorizontal() og indtast 50 Begreberne signatur og parameter Flyt rundt med objektet circle2 circle2-version af Figure 1.3 Højreklik på objektet circle2 og vælg Inspect Figure 1.5 for circle2 Attributternes værdier definerer tilstanden for objektet circle2 10

Projektet shapes (3) Objekter fra samme klasse betegnes instanser af den pågældende klasse Figure 1.6 Karakteristika for objekterne circle1 og circle2 der stammer fra klassen Circle: Har de samme felter (defineret i klassen) Er i forskellige tilstande, har fx forskellig farve De samme metoder kan benyttes (defineret i klassen): changecolor() changesize() make...() move...()... 11

Projektet picture (1) Dan et bestemt billede bestående af en cirkel, to kvadrater og en trekant (brug af shapes) Kig lidt på Exercise 1.10: Åben picture projektet Dan et Picture-objekt Højreklik på objektet picture1 og vælg draw()-metoden Figure 1.7 12

Projektet picture (2) Tilbage i BlueJ s vindue prøves lidt forskelligt: Højreklik på klassen Picture og vælg Open Editor Skift i Editoren fra Implementation til Interface Java-standardklassen...Object er alle klassers stamfar Venstre-dobbeltklik på dokumentet giver et README.TXT-vindue 13

Projektet lab-classes (1) Studerende på laboratoriehold Kig lidt på Exercise 1.23: Åben lab-classes projektet Dan et LabClass-objekt Dan et Student-objekt tre er Sæt den studerende på laboratorieholdet Figure 1.8 Udfør Exercise 1.22 Sammenlign med Figure 1.9?? 14

Projektet lab-classes (2) Baggrunden for Figure 1.9: Åben lab-classes projektet Dan et LabClass-objekt Indsæt lærer, lokale og tidspunkt i LabClass-objektet med brug af de tre set...-metoder Dan tre Student-objekter Sæt de tre studerende på laboratorieholdet Udfør Exercise 1.22 Figure 1.9 15