Kapittel 3 Bruk av klasser og objekt. 3.1 Å lage objekt Eit variabelnamn i Java representerer Ein primitiv verdi (f eks boolean, int ) Eit objekt (f eks.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
14 okt. 2003, Arne Maus Inst. for informatikk, UiO
C++ for Java-programmerere
Programmering i ActionScript - hva er det, og hvordan undervise?
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Uke 8 - Mer om: Objekter, klasser og pekere
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Objektorientert programmering i PHP del 2
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
IS-102 Klassedefinisjoner
#include Ligner litt på import i java. Setter inn hele fila stdio.h i programteksten. Definerer en del io funksjoner slik at signaturen er kjent. I dette.
C# for javaprogrammerere
En gang til!? .
Operativsystemer.  Tilstandsmaskiner kalles på engelsk Finite State Machines.  Tilstandsmaskiner er en metode til å beskrive systemer med logisk og.
ANDROID-PROGRAMMERING VÅREN ACTIVITY OG INTENTS Repetisjon fra forrige gang.
Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk.
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
LocMoc : Avatar 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen.
Kapittel 11 Rekursjon Å tenke rekursivt Rekursjon er ein programmeringsteknikk der ein metode kallar seg sjølv for å fullføre ei oppgåve For å kunne.
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Læringsmål for forelesningen
EQS prosessteikning Rettleiing for deg som skal bruke prosesskart-editor i EQS.
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Grunnleggende PHP - Ronny Mandal1 Grunnleggende PHP.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Uke 7 - del I: Repetisjon del II: Objekter, klasser og pekere 30 sept. 2003, Arne Maus Inst. for informatikk, UiO.
Java 3 Mer om uttrykk Terminal I/O Forgreninger
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Dagens tema: roller og tilganger i ePhorte
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Objektorientert utforming In 140 Sommerville kap. 12.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
An approach to multimodal and ergonomic nomadic services Marco Riva og Massimo Legnani.
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kapittel 6 Objektorientert design. 6.1 Programvareutvikling Skriving av kode ein liten del av arbeidet med å lage programvare Fire hovudaktivitetar Kravspesifikasjon.
Introduksjon I tillegg til autentisering, bør/skal også ein sikker kanal tilby garanti for meldings- integritet og konfidensialitet.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF160 Videregående Programmering Hausten Om kurset Lærebok: Lewis & Loftus: Java software solutions, 4.utgåve utgåve inneheld nye, viktige.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Vanlege nynorskfeil.
Frå eitt medium til eit anna
Kapittel 2 Data og uttrykk. 2.1 Strengar Ein tekststreng er eit objekt i Java, definert av String klassen Meir om denne klassen i kapittel 3 Vi bruker.
Kapittel 4 Skriving av klasser. 4.1 Anatomien til ein klasse Så langt har vi brukt ferdige klasser frå klassebiblioteket i Java Vi lagar objekt og brukar.
Ny rammeplan for barnehagen Konsekvensar for matematikkfaget.
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 23 (Big Java 2.utg) Tråder. Kjøring av tråder Ein tråd er ein del av eit program som blir eksekvert uavhengig av andre deler av programmet Vi.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Kapittel 25 (Big Java 1.utg) Java Server Pages og Servlets.
Kapittel 10 Exceptions Handtering av exceptions Ein exception er eit objekt som representerer ein feil eller eit unntak Exceptions blir kasta av.
Naaman Ein dag sa jenta til matmor si: «Om berre husbonden kunne koma til profeten i Samaria, skulle nok han fri han frå hudsjukdomen.» 2.Kongebok.
Å skrive meininga si Fempunktsmetoden. Skriv fem setningar: Fortel kva emne du vil skrive om. Skriv tre setningar om dette emnet. Skriv ei setning som.
Iterator i Java boolean hasNext() E next() void remove()
IS-102 Interaksjon med objekter
Utskrift av presentasjonen:

Kapittel 3 Bruk av klasser og objekt

3.1 Å lage objekt Eit variabelnamn i Java representerer Ein primitiv verdi (f eks boolean, int ) Eit objekt (f eks String ) Deklarasjon boolean ferdig; String melding; Verdi for primitive typer, referanse (adresse) for objekt Vi har så langt ikkje gitt verdi, vi har berre sett av plass i minnet Vi må initialisere (gi verdi) før bruk

Å lage objekt Variabelen må referere til eit gyldig objekt før bruk Bruk av det reserverte ordet null Instansiering med operatoren new : String str = new String(“Pink Floyd”); Når vi har laga objektet, kan vi bruke. operatoren for å få tilgang til metodane klassen tilbyr int l = str.length(); Sjølv om metoden ikkje skal ha parameter må vi bruke paranteser for å vise at det er ein metode, og ikkje ein instansvariabel, vi bruker Denne metoden returnerer ein int, andre kan returnere andre typer, eventuelt ikkje ha returverdi ( void )

Å lage objekt Snarveg for å lage String -objekt String by = “Molde”; Aliaser int num1 = 14, num2 = 3; num1 = num2; Vi har framleis to variable av type int, begge har verdien 3 String by1 = “Molde”, by2 = “Ålesund”; by1 = by2 Vi har framleis to variable av klassen String, men begge peiker på det same objektet ( “Ålesund” )

Å lage objekt String -objektet med verdi “Molde” er blitt søppel, sidan vi ikkje har variable som refererer til det Dette objektet kan vi aldri få tak i seinare, så det er utan verdi for oss I Java har vi automatisk garbage collection som går gjennom minnet og slettar søppel Viktig forskjell frå C++

3.2 String klassen String -objekt som er laga kan ikkje endrast Mange metoder i String -klassen returnerer nye String -objekt som er resultat av endringar på originalobjektet sin verdi Indeksering av posisjonane til dei ulike tegna i strengen startar på 0! Viktige metoder i figur 3.1 Merk spesielt at vi bruker compareTo() eller equals() ved samanlikning, og ikkje =

3.3 Pakker Eit klassebibliotek er eit sett med klasser vi kan bruke til å lage program Teknisk sett er klassebibliotek ikkje ein del av programmeringsspråket Java Klassene er gruppert i pakker, slik at ein pakke omfatter klasser som logisk sett høyrer saman Vi må importere det vi vil bruke av klasser i programma våre Unntak: java.lang Import - deklarasjon

3.4 Random -klassen import java.util.Random; Vi har ofte bruk for tilfeldige tal, men det kan vi ikkje få Vi kan derimot få noko som liknar, pseudotilfeldige tal, via Random -klassen Tal blir generert av ei komplisert algoritme slik at dei ser tilfeldige ut Bruk: terningkast, spel, simulering Viktig: ved å spesifisere seed kan vi reprodusere våre “tilfeldige” tal

3.5 Math -klassen Finst i java.lang -pakken, treng difor ikkje importerast Tilbyr stort sett det vi treng av matematiske funksjonar Alle metodane i denne klassen er statiske Vi kan bruke metodane gjennom klassenamnet, utan å lage objekt int val = Math.pow(4, 4); Det reserverte ordet static

3.6 Formatering av output NumberFormat - klassen Kan brukast til å formatere tal til valuta DecimalFormat - klassen Generell formatering av tal printf - metoden i System – klassen Blir ikkje sett på som god objektorientert programmering Inkludert for å gjere overgangen frå C lettare

3.7 Enumererte typer Alle verdier ein variabel av ein enumerert type kan ha, blir lista opp Variable av denne typen er type-safe, som betyr at kun verdiar som er definert for typen blir akseptert ordinal() viser til det interne nummeret verdien har name() viser til verdien

3.8 Wrapper-klasser Vi treng av og til objekt som representerer primitive typer Det finst ein slik wrapper class for kvar primitiv type (8 stk) Klassene tilbyr metoder for å administrere dei tilsvarande primitive typane, sjå f eks figur 3.8 for Integer Autoboxing – automatisk konvertering mellom primitiv type og korresponderande wrapper- objekt

3.9 Komponentar og containerar Vi startar no å lage program med GUI (Grafisk brukergrensesnitt) Merk: program utan GUI kan også vere nyttige... GUI komponentar er objekt som representerer element på skjermen Vise informasjon, f eks label Tilby interaksjon med brukaren, f eks meny GUI-relaterte klasser finst i java.awt (Abstract windowing toolkit), den originale Java- pakken for GUI. Her finn vi f eks Color -klassen javax.swing, meir allsidige enn det vi finn i java.awt. Vi bruker javax.swing når vi kan

Komponentar og containerar Ein container er ein spesiell type komponent som kan inneholde og administrere andre komponentar Rammer (frames) og panel (panels) er to Java containerar Tungvekt (heavyweight) container blir styrt av operativsystemet Frames er tungvekt og blir vist som eit eige vindu, blir definert av JFrame -klassen Frames har fleire panes (felt, ruter) som styrer ulike karakteristikkar av rammene Alle synlege element blir vist i ramma sin content pane Lettvekt (lightweight) blir styrt av Javaprogrammet Panel er lettvekt og må leggast til i ei ramme for å bli vist i denne, blir definert av JPanel -klassen

Komponentar og containerar Korleis lagar vi eit GUI i Java? JFrame objekt der vi viser grensesnittet Primærpanel som blir lagt til ramma si content pane Komponentane i primærpanelet blir ofte organisert ved hjelp av andre panel etter behov Vi går gjennom eksemplet i Listing3.7 og ser på bruk av JFrame, JPanel og JLabel

3.10 Nøsta panel For å lage innholdsrike og oversiktlege grensesnitt må vi ofte lage eit meir komplisert hierarki av komponentar Det er særleg vanleg å bruke fleire lag med panel for å gruppere og organisere komponentar Meir om layout og bruk av layout managers seinare Eksemplet i Listing 3.8 bruker nøsta panel på ein enkel måte

3.11 Bilete Vi kan vise bilete ved hjelp av JLabel Vi går gjennom Listing 3.9 ImageIcon -klassen representerer eit bilete som blir inkludert i ein label Plassering av bilete og tekst i labelen Plassering av labelen i panelet Vi må eksplisitt legge til komponentar for å få dei vist