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.

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
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Introduksjon til objektorientert programmering i PHP
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.
Dokument med bilde, formatere i Word
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
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 januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
UML & object models av gruppe 8
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
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
IS-102 Klassedefinisjoner
Oblig4 - forklaringer Arne og Ole Christian.
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
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!? .
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Web-applikasjoner Prosjekt3 Logging Gruppe 9 Malik Muhammad Naeem Kevan Qureshi.
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 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 desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Objektorientert programmering
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?
OOT Seminar H-97 CORBA Praktisk del. Valg av ORB implementasjon n Har valgt å bruke Visigenic sin ORB implementsjon n ORB’en er 100% Java kodet n Bygger.
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.
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”
INF Objektorientert programmering
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.
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.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
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.
Android Programmering 10 timers kurs. Forutsetninger Noe bakgrunn i Java eller et annet objektorientert språk Litt peiling på XML Vi bruker Windows 7.
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
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

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 i hvilkensomhelst klasse. n Men for å kjøre programmet må man kjøre den filen main metoden ligger i.

eksempel: n public class Person{ private String navn; public Person(String nyttNavn){ navn = nyttNavn; } public static void main(String[] args){ Person per = new Person(”Per”); } }

n public class Bil{ private Person eier; private String bilmerke; public Bil(Person nyEier,String nyttBilmerke){ eier = nyEier; bilmerke = nyttBilmerke; } public static void main(String[] args){ Person personMedBil = new Person(”Per”); Bil raserbil = new Bil(personMedBil,”volvo”); } }

Og så... n Først må filene lagres som henholdsvis: Person.java og Bil.java n Deretter må begge filene kompileres med komandoen javac Person.java/Bil.java n Og så for å kjøre programmet skriver man java filnavn. Man kan enten skrive java Bil eller java Person.

Spørsmål 1 n Hvordan kjører man et program? n Hva skjer i praksis når man kjører et program? n Kan det være mainmetoder i alle klasser? n Har det noe å si hvor man legger mainmetoden? n Hvorfor har dere ikke brukt mainmetoden i BlueJ?

Arv: n public class Kjoretoy{ protected int antallHjul; protected String farge; public void sprayLakker(String nyFarge){ farge = nyFarge; } }

n public class Bil extends Kjoretoy{ private String bilmerke; private int gir; public Bil(String nyFarge){ antallHjul = 4; gir = 0; //Setter bilen i fri farge = nyFarge; } public void gir(int nyttGir){ gir = nyttGir; } }

n public class Sykkel extends Kjoretoy{ private String sykkelType; private int fart; public Sykkel(String nySykkelType){ antallHjul = 2; fart = 0; farge = ”lilla”; sykkelType = nySykkelType; } public void trakk(){ fart++; } }

Teoretiske betraktninger om arv n Man oppnår arv ved å skrive extends Klassenavn mellom klassenavnet og krøllparantesen som starter klassen. eks: public class Sykkel extends Kjoretoy{ n Klassen som det arves fra kalles super klassen. n Klassen som arver kalles subklassen. n Alle public og protected variabler og metoder arves. Private variabler og metoder arves ikke.

Eksempel n mainmetode i Sykkelklassen public static void main(String[] args){ Sykkel minNyeSykkel = new Sykkel(”DBS”); minNyeSykkel.sprayLakker(”Blå”); minNyeSykkel.trakk(); } n mainmetode i bilklassen public static void main(String[] args){ Bil gammelBil = new Bil(”grønn”); gammelBil.sprayLakker(”Gul”); gammelBil.gir(2); }

Aksessermetoder Tilgjengelig for Synlig? public protectedpackageprivate samme klasse klasse i samme pakke Subklasse i annen pakke Ikke subklasse i annen pakke

Spørsmål 2: n Kan en metode arve en annen metode? n Kan en klasse arve en annen klasse? n Hvordan uttrykker du at en klasse skal arve en annen? n Hva kan en klasse arve fra en annen klasse? n Hvordan kan du bestemme hva en klasse arver? n Hva er hensikten med arv?

SUPER n super(); n public Kjoretoy(String nyFarge){ farge = nyFarge; } public Sykkel(String nyFarge){ super(nyFarge); }

UML - Unified Modeling Language n En måte å beskrive programmet ditt på. n Kan både beskrive klassene dine... n og vise hvordan forskjellige instanser virker sammen n forskjellige diagram n 2 viktige for oss: –Klassediagram –Sekvensdiagram

Klassediagram

Sekvensdiagram

Spørsmål 3: n Hva er hensikten med UML? n Hva beskriver et klassediagram? n Hva beskriver et sekvensdiagram? n Hvordan uttrykkes arv mellom klasser i UML?

Javadoc n En måte å dokumentere koden på. n API genereres automatisk. n Begynner alltid med /** n Har faste felt som: ditt navn feks v1.0 argumentnavn beskrivelse beskrivelse

Generelt om dokumentasjon n Ingen vil skrive det. n Alle ønsker å ha det. n Alle sier at det ikke er nødvendig. n Når du tar frem kode du selv har laget for 1 år siden, så får ofte utsagnet: Alltid dokumenter kode en helt annen betydning.

Spørsmål 4: n Hvor skriver man dokumentasjon? n Hva er hensikten med dokumentasjon? n Når er dokumentasjon nødvendig? n Hva har dokumentasjon til felles med innkapslling? n Hva er javadoc?

Generelle tips til øving 3 n Ta det med ro! (Øvingen er ikke så omfattende som det kan virke ved første øyekast.) n Lag alle klassene uten innhold først. Fyll på med metoder og variabler etter som du trenger det. n Alt som skjer skjer pga mainmetoden. n Bruk System.out.println(); hvis du er usikker på hva som skjer. n Bruk kompeleringsfeil siden. Den kan spare deg for mange timer foran pcen!