IS-102 Interaksjon med objekter

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 Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
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.
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
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!? .
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.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
INF150 Programmering mandag 11.9
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
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.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Grunnleggende PHP - Ronny Mandal1 Grunnleggende PHP.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
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
Java 11 Programmering med og uten objekter: hva er forskjellen?
Å 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.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
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.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
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.
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.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
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.
Repetisjon INF 1000 – våren 2007 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Anne Landro, Are Magnus Bruaset og Arild Waaler.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
Oversikt Access Hva en bør beherske så langt. Tabeller Felt Typer (heltall, desimaltall, tekst, Boolean) Primary Key.
INF5110 – 23. april, 2013 Svar på noen oppgaver til kap
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 Utvikle ei klokke.
Spillutvikling Introduksjon til spillutvikling i Processing
Psykisk helse ”..en tilstand av velbefinnende, hvor den enkelte kan få bruke sine evner, kan håndtere utfordringer i hverdagen, kan arbeide godt og klarer.
Gangen i en undersøkelse Prosjektplan og problemformulering
Begynnerkurs i Python Realfagskonferansen 2019 Henrik H. Løvold
Siste uke med fokus på Python  Java
For, While, prosedyrer m/ parametere, funskjoner
Utskrift av presentasjonen:

IS-102 Interaksjon med objekter

Klassedefinisjoner public class KlasseNavn { // definisjon av attributter // definisjon av konstruktører // definisjon av metoder } Klassedefinisjonen begynner med public class KlasseNavn {, og slutter med } Klassedefinisjonen inneholder definisjoner av attributter, konstruktører og metoder Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Definisjon av attributter/instansvariable private type attributtNavn; private/public bestemmer om attributt er tilgjengelig utenfor klassen type bestemmer hva slags verdi som kan lagres i variabelen attributtNavn er navnet Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Private / Public Private Public public String getNavn() : Private Public public String getNavn() public void setNavn(String nyttnavn) ….. private String navn; private int alder; Kun public delen vi ser fra utsiden av et objekt.

Datatyper Når vi programmerer skiller vi mellom forskjellige typer av verdier. Alle mulige verdier tilhører (minst) en type. Alle typene har navn. Eksempler: int – heltall, f.eks. 42 float, double – desimaltall, f.eks. 3.14 char – bokstaver og andre tegn, f.eks. 'a' boolean – logiske verdier, true eller false String – tekst, f.eks. "black" Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Definisjon av metoder public returType metodeNavn(paramType paramNavn, ...) { setninger; } public/private bestemmer om metoden kan brukes utenfor klassen returType forteller hva slags verdi metoden gir fra seg. metodNavn er navnet på metoden. Metodenavn har liten forbokstav. paramType og paramNavn sier hva slags type parameterverdiene skal ha, og hva parameterne heter. Setningene inne i krøllparentesene kalles kroppen til metoden. De blir utført når vi kaller metoden. Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Konstruktør (constructor) Konstruktører er ”spesielle” set-metoder som kalles automatisk når det blir laget nye objekter. Konstruktøren kan ikke kalles direkte. Konstruktøren brukes til å sette opp start-tilstanden til det nye objektet. Konstruktører heter nøyaktig det samme som klassen, og har som oftest en eller flere parametere. Headeren spesifiserer ikke returverdi public KlasseNavn(paramType paramNavn, ...) { ... } Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Setninger return uttrykk; variabel = uttrykk; objekt.metodeNavn(uttrykk, uttrykk, ...); System.out.println(uttrykk); System.out.println(); if (betingelse) { then-gren } else { else-gren Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Variable vi har nå sett tre forskjellige kategorier av variable som har forskjellig levetid og gyldighet(sområde) variabeltype levetid (lifetime) gyldighet (scope) brukes til attributt så lenge objektet finnes objektet å lagre egenskaper som tilhører objektet parameter lå lenge metodekallet varer metoden å overføre verdier til en metode lokal variabel metodekall å huske mellom-resultater i en metode Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Digitalur Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Kan vi dele opp klokka? Et display med fire siffer? Eller to med to siffer? Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Abstraksjon og modularisering Abstraksjon er evnen til å ignorere detaljene og konsentrere seg om de store linjene i et problem. Modularisering består i å dele et program i veldefinerte deler (moduler) som samarbeider på en veldefinert måte, og som kan lages og testes uavhengig av hverandre. Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Klassen ClockDisplay public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; Constructor and methods omitted. } Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Objektdiagrammer og klassediagrammer Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Primitive typer og objekttyper Primitiv type Objekttype 32 int i; Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Tilordning – objekttyper og primitive typer 32 ObjectType a; int a; ObjectType b; int b; b = a; Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter

Metodekall kall på metode i samme objekt (interne) updateDisplay(); ... private void updateDisplay() kall på metode i annet objekt minutes.increment(); Even Åby Larsen (even.larsen@uia.no) IS-102 Objekter