Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 11

Relevanta dokument
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Dugga i Grundläggande programmering STS, åk

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

OOP Objekt-orienterad programmering

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

JAVA Mer om klasser och objektorientering

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Typkonvertering. Java versus C

Föreläsning 5-6 Innehåll

Lösningsförslag övning 2.

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Tentamen i Programmeringsteknik I

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

PROGRAMMERING-Java Omtentamina

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Tentamen i Grundläggande programmering STS, åk 1 fredag

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

1 Egna klasser. 1.1 En punkt-klass

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Tentamen i Grundläggande programmering STS, åk 1 fredag

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Föreläsning 4. Klasser och objekt

Enkla variabler kontra referensvariabel

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Objekt och klasser - Introduktion

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Föreläsning 1-2 innehåll

Föreläsning 5. Föreläsning 5. Klasser och objekt. Klasser och objekt. Klasser och objekt

Exempel på program med objekt Klass med main-metod. Föreläsning 3-4 Innehåll. Övning Viktiga begrepp

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Ett objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Objektorienterad programmering D2

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Chapter 4: Writing Classes/ Att skriva egna klasser.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Tentamen OOP

Föreläsning REPETITION & EXTENTA

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Inledande programmering med C# (1DV402) Tärningarna ska kastas

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Vi programmerar Java!

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Objekt och referenser

LyckaTill önskar Anna

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Tentamen i Programmeringsteknik I

Malmö högskola 2007/2008 Teknik och samhälle

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Programmering för språkteknologer I, VT2012. Rum

Programmeringsteknik I. Föreläsning 3: Klasser och arrayer

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Tentamen i Programmeringsteknik I, ES,

Institutionen för TENTAMEN CTH HT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Java, klasser, objekt (Skansholm: Kapitel 2)

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

Programmering för språkteknologer II, HT2011. Rum

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

Mer om klasser och objekt

tentaplugg.nu av studenter för studenter

Föreläsning 3-4 Innehåll

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel

Tentamen i Grundläggande programmering STS, åk 1 lördag

Malmö högskola 2008/2009 CTS

Laboration 1 - Grunderna för OOP i Java

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Modern Programmering (2546) Tentamen lördag

Tentamen. Grundläggande programmering i Java A 5p, DTAA

Transkript:

Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 11 I måndags: programmera effektivt planera skriv tydlig kod använd felsökning teori inkapsling referenser static new, konstruktorer metoder, metodanrop, parametrar, returvärden oföränderliga objekt Idag: exempel Klasserna TelefonKostnad och Punkt

Telefoner Vi ska hjälpa Susannas Import & Export AB med ett program för att hålla reda på kostnaden för de anställdas mobiltelefoner En komponent i programmet ska vara en klass för att hålla reda på kostnaden för en viss mobiltelefon Med en telefon kan man ringa eller skicka SMS

Telefoner Huvudprogrammet talar om för objekt av klassen TelefonKostnad hur telefonen används Huvudprogrammet kan fråga objekten om kostnaden, och be objekten skriva ut sig För varje telefon ska namnet på ägaren sparas Exempel: TelefonKostnad olasmobil = new TelefonKostnad( Ola ); olasmobil.skickasms(); int total = olasmobil.gekostnad(); olasmobil.skrivut(); (skriver ut Ola har anvant 2.01 kr ) Taxor: Öppningskostnad 24 öre Minutkostnad 60 öre SMS 77 öre

PÅ TAVLAN Telefoner Skissa en struktur för klassen TelefonKostnad Vilka instansvariabler, metoder och konstruktorer behövs? Fundera över parametrar och returvärden Synlighet och inkapsling: vilka metoder och variabler ska vara public och vilka ska vara private?

Telefoner, utökning Alla anställda har samma telefonbolag, som ibland ändrar ibland taxan Vi ska utöka klassen så att taxan kan uppdateras Vi behöver nya variabler för taxorna Taxorna är lika för alla inte kopplade till någon specifik telefon Alltså: statiska variabler!

Statiska variabler och metoder Instansvariabler och metoder är alltid kopplade till ett objekt Statiska metoder och variabler är gemensamma för alla objekt av en klass Synonymer: klassmetod, klassvariabel Exempel: metoden main variabeln taxasms typiskt för matematiska funktioner som sin, kvadratroten, fakultet

Mer statiska metoder: Standardklassen Math Innehåller matematiska funktioner, t.ex.: sin (sinus) sqrt (kvadratroten, SQuare RooT ) pow (upphöjt) Statiska metoder: public static double sin(double x) public static double sqrt(double x) public static double pow(double x, double y) Kan användas i matematiska uttryck: double rotenur2 = Math.sqrt(2); double x = Math.pow(10, Math.sqrt(3)); Se Skansholm Se Javas dokumentation: http://java.sun.com/javase/6/docs/api/

Mer statiska metoder: Standardklassen Math Slumptal ges med metoden public static double random() i klassen Math. Returnerar en double mellan 0 och 1 Andra intervall fås genom skalning: double vinkel = Math.random() * 360; Heltal fås genom konvertering: double nollellerett = (int)(math.random() * 2);

Mer statiska metoder: Standardklassen Math Exempel: skriv ut 10 tärningskast Exempelkörning: Tio tarningskast: Kast 1: 6 Kast 2: 6 Kast 3: 5 Kast 4: 2 Kast 5: 5 Kast 6: 1 Kast 7: 6 Kast 8: 1 Kast 9: 4 Kast 10: 4

Mer statiska metoder: Standardklassen Math Exempel: skriv ut 10 tärningskast Fyll i det som fattas: import extra.*; class Tarningar { public static void main(string[] args) { Std.out.println( Tio tarningskast: ); for ( ) Std.out.println( } } );

Klassen Punkt Annas pepparkakor vill beräkna hur pepparkaksformarna ska placeras på degen för att minimera mängden spilldeg eller? En del av programmet behöver objekt som anger ett läge på bakbordet med x- och y- koordinat Vi ska skriva klassen Punkt

PÅ TAVLAN Klassen Punkt Skissa en struktur för klassen Punkt Vilka instansvariabler, metoder och konstruktorer behövs? Fundera över parametrar och returvärden Synlighet och inkapsling: vad ska vara public och vad ska vara private? Behövs statiska variabler eller metoder?

Klassen Rektangel Annas pepparkakor behöver också en klass som representerar rektanglar Vi skriver klassen, och använder oss av Punkt En rektangel representerad med två punkter:

PÅ TAVLAN Klassen Rektangel Skissa en struktur för klassen Rektangel Vilka instansvariabler, metoder och konstruktorer behövs? Fundera över parametrar och returvärden Synlighet och inkapsling: vad ska vara public och vad ska vara private? Behövs statiska variabler eller metoder?

Mittkurs-utvärdering 1. När det gäller hela kursen: Vad är bra? Vad kan förbättras? (Hur?) Skriv på framsidan av postit-lappen 2. Om föreläsningar: Snabbt / långsamt Hur fungerar föreläsningar med OH / BlueJ / tavla? Skriv på baksidan av postit-lappen