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.

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.
Introduksjon til objektorientert programmering i PHP
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.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
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.
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
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
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
Generelt I/O if/else Funksjoner Lists Løkker Dictionaries Annet Listebehandling Klasser Python med noen algdat-anvendelser Åsmund Eldhuset asmunde *at*
En gang til!? .
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
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 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.
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 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.
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.
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.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
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 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.
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.
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.
IS-102 Interaksjon med objekter
BilSalg klassedatastruktur Bil klassedatastruktur
BilSalg klassedatastruktur Bil klassedatastruktur
Siste uke med fokus på Python  Java
Utskrift av presentasjonen:

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 Person.  En instans må komme fra en klasse, mens et objekt kan være hvasomhelst. Vi trenger ikke å vite definisjonen på en ting for at det skal være et objekt.

Variabler  Referanser  Er egentlig referanser  Variabel deklarasjonen forteller hvaslags objekt/instans variabelen refererer til bilenMin bilenTilPetter

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.

Eksempel på referanser teller = 2 nyTeller = 3 teller = 2 int teller = 2; int nyTeller = leggTilEn(teller); //etter at metoden har kjørt er variabelen fremdeles 2 public int leggTilEn(int tall){ tall++; return tall; } Her sendes en datatype inn i metoden

Et eksempel til Bil minBil = new Bil(”rosa”); minBil.farge = ”grønn”; Bil nyBil = skiftFarge(minBil); public void skiftFarge(Bil bilenSomSkalMales){ bilenSomSkalMales.farge = ”rød”; } Variablenes tilstand: minBil.farge = ”grønn” nyBil.farge = ”rød” minBil.farge = ”rød” Her sendes en objekt/instans referanse inn i metoden

Spørsmål1:  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?

Null  Reservert ord  Hvis man setter en variabel lik null betyr det at den ikke referer til noe lengre.  public String ingenting = null;

This  Reservert ord  Kan brukes for å referere til seg selv  Kan brukes til å skille mellom argumentnavn og variabelnavn

Eksempel 2: public class Flaske{ private float volum; public void drikkFra(float volum){ this.volum = volum; }

Spørsmål 2:  Når bruker man null?  Hvorfor har man ikke ”” rundt null?  Hva referer this til?  Hvordan kan man unngå å bruke this i metoder?  Når må man allikevel bruke this?

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 int antallPersoner(){ return antall; } } TIPS: Metoder som operer rett på static variabler må også være static.

Spørsmål 3:  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?

public class Garasje{ private Bil parkertBil; public Garasje(){ parkertBil = null; } public void kjorInnBil(Bil nyBil){ parkertBil = nyBil; } public Bil kjorUtBil(){ Bil paaVeiUt = parkertBil; parkertBil = null; return paaVeiUt; }

public class Bil{ public Garasje bilensGarasje; public String bilmerke; public int antallHjul; public static int antallBiler = 0; public Bil(String bilmerke, int nyttAntallHjul){ this.bilmerke = bilmerke; antallHjul = nyttAntallHjul; antallBiler++; } public void parker(Garasje nermesteGarasje){ nermesteGarasje.kjorInnBil(this); bilensGarasje = nermesteGarasje; }

public static void main(String[] args){ //Dette er det samme som å lage en ny instans i BlueJ Bil minBil = new Bil("Toyota",4); //Siden dette er en ny fin bil trenger den garasje Garasje nybygdGarasje= new Garasje(); //Nå er det på tide å sette bilen inn i garasjen minBil.parker(nybygdGarasje); }

Flere løkker  for(initialiering;test;økning av tellevariabel)  for(int i=0;i<10;i++){ her kommer koden }  do{ her kommer koden }while(test);