OOP Objekt-orienterad programmering

Slides:



Advertisements
Liknande presentationer
INTRODUKTION TILL PROGRAMMERING
Advertisements

F2 - Intro till Java1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): • Vad behövs för att kunna programmera? • DrJava • Java •
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Metoder i java Det finns två typer av metoder i java
Om Java C =>Java syntax variabler metoder färdiga klasser
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Strömmar Vid läsning och skrivning används något som kallas strömmar.
INTRODUKTION TILL PROGRAMMERING
IT för personligt arbete F6
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Programmering B PHP Lektion 2
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
OOP Objekt-orienterad programmering
Programmeringsteknik för Media1 & K1
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Objektorienterad programmering i Java
ID1004 Objektorienterad programmering Fredrik Kilander
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP F14:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 14 Repetition Tips inför inlämningsuppgift 2.
Föreläsning 4 Klasser Och Objekt.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
INTRODUKTION TILL PROGRAMMERING
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
F2 - Intro till Java1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): Vad behövs för att kunna programmera? – DrJava ( t ex) – Java.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Central-enhet PM CPU BIOS Skiv- minne Sekundär- minnes- enheter (SM)
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Programmeringsteknik för K och Media
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 1 ( ) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.
Föreläsning 8: Exempel och problemlösning
Presentationens avskrift:

OOP Objekt-orienterad programmering Delkursansvarig Stefan Möller Epost sm@fc.dsv.su.se Kursens webbsidor http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Input / output Allmänt om programmering – se gärna ITP Föreläsning 2: https://video.dsv.su.se/ht10/dvkintro/

Central-enhet PM CPU Skiv- minne Sekundär- minnes- enheter (SM) CD-läsare Diskett-läsare

Primär-minne (PM) Processor (CPU) 11001010 00101101 10101100 10101101 00101101 10101100 10101101 10101010 4 10101011 01101101 10011100 11010011 8 00101101 10101100 10101101 11010001 12 16 01011100 01111001 00110100 11101001 20 10011100 10101011 10101100 10101101 24 11001010 00101101 10101100 01110001 28 R1 R2 Ett antal register ... Styr- enhet Aritmetisk enhet PM är en vektor av minnesceller 8 bitar = 1 byte, 4 byte = 1 ord t ex 512 MB (megabyte - miljoner byte) I PM finns program-instruktioner & -data

Kod i högnivåspråk måste översättas till maskinkod. Kompilering: Interpretering: Kompilator Olika beroende på datorsystem Maskinkod som kan exekveras i datorsystemet Källkod i högnivåspråk Interpretator Olika beroende på datorsystem Läser en instruktion i taget, översätter till maskinkod och exekverar Källkod i högnivåspråk

JAVA "Plattformsoberoende" Källkod kompileras till s.k. "Java bytekod" Java bytekod interpreteras på aktuell dator Java källkod Java bytekod Java kompilator Måste finnas på den dator där man vill köra ett Java-program. Finns i de flesta webbläsare Java interpretator

Vad är Java? Två logiska delar: Språk-kärna API-bibliotek imperativ del datatyper deklarationer programsatser metoder mm, mm OOP-del klasser objekt inkapsling arv polymorfism mm, mm Ett (stort!) antal färdiga klasser som kan användas i olika program. Uppdelat i delbibliotek, t.ex.: java.io java.util javax.swing m.fl, m.fl. Dokumentation på: http://java.sun.com/javase/6/docs/api/

Java är freeware, kan laddas ner från Sun (java.sun.com) Olika versioner 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Java SE - JDK 6 (Java Standard Edition version 6) Innehåller det man behöver Kompilator (javac) JVM (Java Virtual Machine), dvs interpretatorn (java) API-biblioteket (plus lite annat ...) (på MS Windows måste path-variabeln uppdateras ...) Instruktioner och hjälp för installation, se DSV:s webbsidor: http://dsv.su.se/introdator/java/

Kursen OOP Läses av flera olika studentgrupper: DSK1:OOP (ID1013) GES:OOP OBS – samma kurs med samma innehåll. Kursen är på 7.5 hp, examinationen uppdelad på: Inlämningsuppgift 1, 1.5 hp Inlämningsuppgift 2, 3 hp Tentamen, 3 hp Inlämningsuppgifterna betyg G/U, tentan betyg A-F

Kursen OOP Innehåll: Java's språkkärna imperativa delen OOP delen Användning av API-biblioteket Konstruktion av mindre program Litteratur: Lewis & Loftus Java Software Solutions, Upplaga 6 (annan bok kan användas) Föreläsningsbilder mm. material Kommunikation: First Class-konferens för inlämning av inlämningsuppgifter samt handledning. Webbplats för material.

// Resten av raden är en kommentar, ignoreras av kompilatorn // Ett första JAVA-program class Hello{ public static void main(String[]args){ System.out.println("Hej Världen!"); } // Resten av raden är en kommentar, ignoreras av kompilatorn { } - start och slut på ett block Case Sensitive (skiftlägeskänsligt) Namngivning mm - följ API-bibliotekets utseende Filnamn - samma som class-namn + suffixet .java Hello.java - kompileras och Hello.class skapas

Kompilering & Exekvering (interpretering) Källkoden på filen Hello.java Kompilering: >javac Hello.java Ger bytekodsfilen Hello.class Exekvering (egentligen interpretering av bytekoden...): >java Hello

Programmering Indata Program Utdata Data kan vara av olika typ: "Kalle Nilsson" 2010 73.67 'X' 730512 true "Stockholm" Måste representeras i programmet.

Javas enkla (primitiva) datatyper Heltalstyper: byte 8 bitar short 16 bitar int 32 bitar long 64 bitar Flyttalstyper: float 32 bitar double 64 bitar Övriga: char Unicode 16 bitar boolean true / false Textsträngar (INTE enkel datatyp): String

Output Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println("Hopp"); System.out.println("Oj"); Värdet av en variabel kan skrivas ut: int x=25; System.out.println(x); Ska flera saker skrivas ut så slås de ihop med operatorn + System.out.println("Resultatet="+x); System.out.println("Namn="+namn+"Åldern="+ålder);

Input Görs via System.in. Måste ”filtreras”, lämpligen med en Scanner Scanner sc=new Scanner(System.in); String namn=sc.nextLine(); Ofta först ställa fråga, sedan läsa in: System.out.print("Vad heter du?"); System.out.print("Hur gammal är du?"); int ålder=sc.nextInt(); Olika inläsningsmetoder i klass Scanner: sc.nextLine() sc.nextInt() sc.nextDouble() m.fl. för olika input-varianter Klassen Scanner finns i delbiblioteket java.util Måste anges "nånstans" Varför behöver inte String och System anges på motsvarande sätt?

Output och input med JOptionPane Med en biblioteksklass som heter JOptionPane kan man skapa enkla dialogrutor: JOptionPane.showMessageDialog(null, "Meddelande: "); String namn=JOptionPane.showInputDialog("Namn:"); OBS – endast String kan läsas in, vill man ha annan sort måste man konvertera. String str = JOptionPane.showInputDialog("Hur gammal är du?"); int ålder = Integer.parseInt(str); JOptionPane ligger i delbiblioteket javax.swing