180 likes | 315 Views
INF160 Videregående Programmering. Hausten 2005. Om kurset. Lærebok: Lewis & Loftus: Java software solutions, 4.utgåve 2005 4. utgåve inneheld nye, viktige ting som ikkje er med i tidlegare utgåver Heile boka er pensum Tilleggsstoff som også er pensum (blir delt ut) Tråder Databaser
E N D
INF160 Videregående Programmering Hausten 2005
Om kurset • Lærebok: Lewis & Loftus: Java software solutions, 4.utgåve 2005 • 4. utgåve inneheld nye, viktige ting som ikkje er med i tidlegare utgåver • Heile boka er pensum • Tilleggsstoff som også er pensum (blir delt ut) • Tråder • Databaser • Web-applikasjoner • 6 obligatoriske innleveringsoppgåver
Om kurset • Eksamen 9.desember • 6 timar skriftleg eksamen • Alle skrevne og trykte hjelpemiddel • Faglærar: Johan Oppen • Stipendiat ved HSM • Kontor: rom 077 • E-post: johan.oppen@hiMolde.no • All info i Classfronter
Om kurset • Forelesningar torsdag 08.15 – 10.00 og fredag 12.15 – 14.00 i rom A302 • Labøvingar • Forkunnskaper: • INF151 • IDE/Utviklingsverktøy: NetBeans 4.1 • Blir også brukt i seinare kurs (In213, In245, In204)
Om kurset • Nokre ideelle mål … • Les læreboka, helst omtrent samtidig med at stoffet blir gjennomgått • Bla gjennom før forelesning, slik at du veit kva som kjem • Ver aktiv, still spørsmål og kom med kommentarar og positiv kritikk
Om kurset • Vanskeleg kurs? • Kor vart det av skjermbildet? • Ta det med ro, det dukkar opp seinare i kurset ... • Java vs VB: Med Java har vi meir kontroll, men må lage meir sjølv • Difor startar vi med enkle program der vi ikkje lagar noko grafisk grensesnitt til brukaren
Om kurset • Dersom du skal bli systemutviklar, er INF160 svært viktig!!! • Legg grunnlaget for seinare kurs • In212 Objektorientert utvikling • In295 Algoritmer og datastrukturer • In204 Komponentbasert utvikling • Kurs i mobile applikasjoner • I desse kursa blir det gått ut frå at du kan Java godt • Med andre ord: Det er heilt nødvendig å jobbe med stoffet gjennom heile kurset, og kurset har alt starta!
Kapittel 1 Introduksjon • 1.1 – 1.3 er om maskinvare/programvare og nettverk • Ikkje sentralt i kurset, men viktig å forstå • Dette stoffet dukkar opp i andre kurs • Sjølvstudium
1.4 Programmeringsspråket Java • Introdusert i 1995 • Vi skal bruke J2SE 1.5 • Java 2 Platform, Standard Edition, versjon 1.5 • Alt vi treng finst i NetBeans • Standard klassebibliotek med ferdig programvare som vi kan bruke
Programmeringsspråket Java • Vi ser på eksemplet i Listing 1.1 • Korleis skrive, kompilere og køyre eit Java-program utan å bruke NetBeans? • I neste time går vi på lab’en og gjer det same i NetBeans • Bruk av kommentarar i koden • Identifikatorar, reserverte ord i Java • Namn på variable, bruk av “white space” • Bruk av { } ;
1.5 Programutvikling • Fire språknivå • Maskinspråk, binærkode • Assemblyspråk • Høgnivåspråk (til dømes Java) • Fjerdegenerasjonsspråk • Kompilator, interpreter og Java bytecode • Programkoden blir først gjort om til Java bytecode • Ved eksekvering blir bytekoden gjort om til binærkode og kjørt av ein interpreter • Java er hardware-uavhengig, sidan det finst ein interpreter for kvar prosessortype • main() metoden er startpunktet i eit Java-program
Programutvikling • Utviklingsmiljø, nødvendig verktøy for å lage program • Teksteditor • Kompilator • Debugger • Interpreter • IDE eller TextPad og svart skjerm? • For å utvikle større program er det store fordeler med å bruke ein IDE
1.6 Objektorientert programmering • Programmering er å løyse problem • Forstå problemet, domenekunnskap • Design av løysing • Vurdere alternativ, forbetre løysinga • Implementere (kode) løysinga • Teste og rette feil
Objektorientert programmering • Viktige begrep: • Objekt • Attributt • Metode • Klasse • Innkapsling • Arv • Polymorfi
Objektorientert programmering • Objekt • Representerer ofte ein verkeleg “ting”, kan vere fysisk eller abstakt • Hus eller bankkonto • Alle objekt har tilstand og oppførsel • Tilstand er data om objektet, attributtar skildrar tilstand (farge, saldo) • Oppførsel er kva objektet kan utføre, metodar skildrar oppførsel (endre farge, ta ut pengar)
Objektorientert programmering • Klasse • Ein klasse i Java skildrar korleis eit objekt skal vere • Alle objekt av den same klassen er både like og ulike • Dei er laga på same “lest” (klassen), alle inneheld same type data og har dei same metodane • Dei er sjølvstendige på den måten at vi opererer på objekta enkeltvis, vi kan ha fem hus med kvar sin farge
Objektorientert programmering • Innkapsling • Alle objekt bør beskytte og styre eigne data • All tilgang utanfrå via metodar • Arv • Definisjonen av ein klasse kan bygge på ein annan, meir generell, klasse • Det som er felles er spesifisert i den generelle klassen (superklassen) • Det som er spesielt er spesifisert i klassen som arvar (subklassen) • Polymorfi – oppførsel varierer med type
Objektorientert programmering • I objektorientert programmering bygger vi opp eit sytem av eit eller fleire objekt, laga ved hjelp av klassedefinisjonar • Alt programmet utfører blir gjort i form av objekt som utfører sine metoder • Med enkelte unntak ... • Programmet startar i main-metoden og kjører til denne er ferdig • Uforståeleg? – ikkje etter neste episode av INF160!