En gang til!? .

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
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
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.
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
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 Objektorientert systemutvikling
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
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
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.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Grunnleggende PHP - Ronny Mandal1 Grunnleggende PHP.
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
Java 11 Programmering med og uten objekter: hva er forskjellen?
VI LAGER EN PLATEBUTIKK
Arv og polymorfi, del 3 Modifikatoren abstract side 2-3
Å 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.
02 - Java datatyper Grundlæggende om datatyper og variable.
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.
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.
Indledende Datalogi /kelk 1 Need to know Løkker Klasser, instanser og Objekter Hvorfor objektorientering? Scope – hvor erklæres en variabel? ”Access Modifiers”
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.
INF Objektorientert programmering
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF1000 (Uke 12) Sortering og eksamensoppgaver Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Inf1000 (Uke 10) HashMap og ArrayList
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
INF1000 (Uke 11) Programmering
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.
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 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.
Repetisjon INF 1000 – våren 2007 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Anne Landro, Are Magnus Bruaset og Arild Waaler.
Variabler, datatyper og uttrykk
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
Primitive typer, klasseegenskaber samt identitet og lighed
IS-102 Interaksjon med objekter
BilSalg klassedatastruktur Bil klassedatastruktur
BilSalg klassedatastruktur Bil klassedatastruktur
Siste uke med fokus på Python  Java
Utskrift av presentasjonen:

En gang til!? 

Hva er? en klasse? et argument? en instans? en metode? en datatype? en synlighetsmodifikator? en logisk test?

public class Datamaskin{ private boolean paa; public Datamaskin(){ paa = false; } public void skruPaa(){ paa = true; public void skruAv(){

Deklarering av referanser/variabler I begynnelsen av klasser: public class Bil{ public int antallhjul; //Gjeldende i klassen } I metoder: public void kjor(){ float fart = 23,5; //Gjeldende i metoden etter at de er definert Som argumenter: public void gir(int nyttGir){ //Gjeldende i metoden

2 typer referanser 1. Referanse til en datatype (int, long, float, double, char, boolean): public int tall; public float desimaltall; 2. Referanse til en instans av en klasse (Alle med stor bokstav): public String setning; public ArrayList lenketListe;

Referanser i argumenter Referanser av type en blir ikke endret av å bli endret inni en metode. Referanser av type to som gies som argument forblir endret etter at metoden er ferdig.

Spørsmål 1: Hvordan kan man deklarere en variabel? Og hvor kan man bruke den etterpå? Hva er en referanse? Hvilke to typer referanser finnes det? Kan ett argument være av typen void? Og hvorfor ikke?

Ikke static Ingen av de metodene vi har brukt til nå er static. Det vil si at det ikke er noe static ord mellom public/private og returtypen. Det vil også si at variablene og metodene hører til i instanser av klassen.

Static Betyr at variabelen eller metoden hører til klassen. Ikke static : Bil nyBil = new Bil(); nyBil.kjor(); static: Bil.hentAntallBiler();

Et eksempel public class Person{ public static int antall = 0; } public static void antallPersoner(){ return antall; } }

Spørsmål 2: Hva er forskjell på en variabel som er static og en som ikke er det? Når vil det være naturlig å bruke en static metode? Når vil det være naturlig å bruke en static variabel? Hvor kan man plassere ordet static?

Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; for å sette inn ting i tabellen: heltallsTabell[plassering] = 2; 1 2 3 4 5 6 7 8 9 10

Nyttige tips om tabeller: Første element i alle tabeller er element nr 0 Ekte programmerer starter å telle med 0 Eksempler: public String[] ordTabell = new String[12]; public String ogsaOrdtabell[] = new String[12];

public class Bok{ private String tittel; private int antallSider; public Bok(String tittel){ this.tittel = tittel; } public Bok(String nyTittel, int nyttAntall){ tittel = nyTittel; antallSider = nyttAntall;

public class Bokhylle{ private Bok[] boker; public Bokhylle(int antallBoker){ boker = new Bok[antallBoker]; for(int i =0;i<antallBoker;i++){ boker[i]=new Bok(”Bok”+i); } public Bok taUtBok(){ int i = 0; while(bok[i]==null){ i++; Bok bokSomTaesUt = bok[i]; bok[i]=null; return bokSomTaesUt;

Spørsmål 3: Hva nummer er det på den siste plassen i en int tabell som ble laget slik: int[10] Kan man bruke tabeller for både datatyper og klasser? Er en tabell en dynamisk eller statisk datastruktur?

Metodekall /*Dette er måten man kaller metoder som returnerer en verdi*/ public int tall = leggTilEn(2); /*Dette er måten man kaller metoder som er void på*/ Datamaskin hal9000 = new Datamaskin(); hal9000.skruAv();

public class Person{ private String navn; private Datamaskin deepBlue; public Person(String nyttNavn){ navn = nyttNavn; deepBlue = new Datamaskin(); } public boolean starteArbeidet(){ deepBlue.skruPaa(); return true;

ArrayList Dynamisk datastruktur Kan lagre mange forskjellige instanser samtidig. Er et oppbevaringssted for referanser. Lages slik: ArrayList liste = new ArrayList(); Husk: import java.util.ArrayList;

Metoder i ArrayList public void add(int index, Object element); public boolean add(Object element); public void clear(); public Object get(int plassering); public Object remove(int plassering);

Forming (Casting) Fordi alle slags objekter kan settes inn i ArrayListen må man fortelle java hvaslags klasse objektet kommer fra. Dette skriver man slik: ArrayList listen = new ArrayList(); (Klassen) listen.remove(0); (String)listen.remove(0);

import java.util.ArrayList; public class Bokhylle{ private ArrayList boker; public Bokhylle(int antallBoker){ boker = new ArrayList(); for(int i =0;i<antallBoker;i++){ boker.add(new Bok(”Bok”+i)); } public Bok taUtBok(){ Bok bokSomTaesUt = (Bok)boker.remove(0); return bokSomTaesUt;

Spørsmål 4: Hva er hovedforskjellen mellom en ArrayList og en tabell. Hva betyr det at ArrayList er en dynamisk struktur? Hvordan former/caster man et objekt/instans? Hvorfor må man forme/caste de objektene som kommer ut fra en ArrayList?

Ting å huske på: Initier ArrayListen din, ellers vil du få nullpointerexception når du kjører programmet. Dvs: ArrayList listen = new ArrayList(); Du må forme (caste) alt som kommer ut av en ArrayList Det første elementet er alltid 0!