Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Relevanta dokument
Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Objektorienterad programmering Föreläsning 5

Objektorienterad programmering

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Agenda. Objektorienterad programmering Föreläsning 13

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

JAVAUTVECKLING LEKTION 7

Objektorienterad programmering

Objektorienterad programmering D2

Objektorienterad programmering

Agenda (obs! halvdag)

Kursplanering Objektorienterad programmering

Objektorienterad programmering Föreläsning 4

JAVAUTVECKLING LEKTION 11

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Föreläsning 6: Metoder och fält (arrays)

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

Lösningsförslag övning 2.

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

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

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Statistik över heltal

COBOL. från grunden. monitors. Peter Sterwe. training people

Konvertering från sträng. Winstrand Development

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Malmö högskola 2008/2009 CTS

Design av en klass BankAccount som representerar ett bankkonto

Övningsuppgift. En array baklänges. Steg 1. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Föreläsning 2, vecka 8: Repetition

Java, klasser, objekt (Skansholm: Kapitel 2)

Programmering i C++ EDA623 Strömmar och filer. EDA623 (Föreläsning 9) HT / 19

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Objektorienterad programmering Föreläsning 20

JAVA Mer om klasser och objektorientering

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

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

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

TENTAMEN OOP

(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

TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

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

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

Metoder. Inledande programmering med C# (1DV402)

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Beräkningsvetenskap föreläsning 2

Typkonvertering. Java versus C

JAVAUTVECKLING LEKTION 8

kl Tentaupplägg

Klasser och objekt, referenser Grundkurs i programmering med Python

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

Datatyper. Programmering. Att definiera datatyper i Java. Laddade partiklar. (x,y) (Rx,Ry) hh.se/db2004

Grundläggande programmering med C# 7,5 högskolepoäng

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Objektorienterad Programmering (TDDC77)

5 Grundläggande in- och utmatning

TDIU01 - Programmering i C++, grundkurs

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

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Inledande programmering med C# (1DV402) 85/2=42. OBS! Heltal 1 (13)

Instuderingsfrågor, del D

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 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

Receptsamling med fil

Laboration 3, uppgift En klass för en räknare

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

Laboration nr 2. Objektorienterad programmering D2. Syfte. Redovisning. Testning. Uppgift 1

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

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

Pascal... Pascal. Pascal... Pascal...

2D1339 Programkonstruktion för F1, ht 2003

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Textsträngar från/till skärm eller fil

Tentamen OOP

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Introduktion till PHP

Laboration 1 - Grunderna för OOP i Java

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Lektion 6. Datateknik A, Java I, 5 poäng

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

DD1342 Programkonstruktion för F1,

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Övningsuppgifter till föreläsning 2 Variabler och uttryck

DELPROV 1 I DATAVETENSKAP

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Strängar. Elektronikcentrum i Svängsta AB

Transkript:

Objektorienterad programmering Föreläsning 11 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Multipla relationer Flerdimensionella fält Nationella inställningar Redigering av utskrifter (format) Uppdelning av text (split) Felkontroll med TryParse Textfiler Copyright 2015 -Mahmud Al Hakim www.webacademy.se 2 1

Multipla relationer Fält och listor kan användas för att beskriva relationer där ett objekt har flera delkomponenter av samma slag eller känner till flera andra objekt, vilka alla är av samma typ. Man deklarerar då instansvariabler som är fält eller listor. Exempel En person kan ha ett eller flera barn. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 3 Multipla relationer - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 4 2

Klassen Person fort. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 5 Multipla relationer - Testprogram Copyright 2015 -Mahmud Al Hakim www.webacademy.se 6 3

Flerdimensionella fält I C# kan man använda sig av fält med flera index, s.k. flerdimensionella fält. Tvådimensionella uppställningar kallas tabeller eller matriser. Exempel int[, ] t = new int[2,3] t 0 OBS! Kommatecken 1 0 1 2 Copyright 2015 -Mahmud Al Hakim www.webacademy.se 7 Flerdimensionella fält - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 8 4

Nästlade for-satser för att skriva ut Copyright 2015 -Mahmud Al Hakim www.webacademy.se 9 Nationella inställningar Konventioner för olika språk hanteras med hjälp av standardklassen CultureInfo. Klassen CultureInfo finns i namnrymden System.Globalization Ett objekt av denna klass beskiver en lokal konvention. De lokala konventionerna bestämmer sådant som format för datum, tider och numeriska tal. Det finns alltid ett default CultureInfo-objekt som från början sätts av systemet. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 10 5

CultureInfo - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 11 Redigering av utskrifter För att få snyggare utskrifter t.ex. ange antal decimaler eller redigera som ett belopp behöver man formatera text. Tekniken finns för metoderna Write, WriteLine och string.format. Anrop sker på följande sätt metodnamn(format, v0, v1, v2, ) v0,v1 etc. är de värden som skall redigeras. Parametern format kan innehålla vanlig text och platsmarkörer. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 12 6

Platsmarkörer Platsmarkörer har följande form { index, bredd : formatsträng } Index: anger numret på det värde som skall redigeras. Bredd (kan utelämnas): anger det minsta antalet positioner. Utfyllnad med blanka tecken sker till denna bredd om så behövs. Formatsträngen har en formatspecificerare och ev. ett heltal. Exempel på några formatspecificerare d heltal (decimal form) f reella tal med heltalsdel och decimaler (flyttal) c värdet redigeras som ett belopp Copyright 2015 -Mahmud Al Hakim www.webacademy.se 13 Redigering av utskrifter Exempel 1 index Formatspecificerare F = flyttal (reell tal) 4 = 4 decimaler Copyright 2015 -Mahmud Al Hakim www.webacademy.se 14 7

Redigering av utskrifter Exempel 2 index Formatspecificerare C = Visa som ett belopp (beror på nationella inställningar) 2 = 2 decimaler Copyright 2015 -Mahmud Al Hakim www.webacademy.se 15 Redigering av utskrifter Exempel 3 index Formatspecificerare d = heltal 2 = antal siffror ev. utfyllnad med nollor Copyright 2015 -Mahmud Al Hakim www.webacademy.se 16 8

Uppdelning av text I klassen String finns en instansmetod med namnet Split. Denna delar upp en text i olika delar, s.k. ord. Med ord menar man en följd av ett eller flera ickeblanka tecken. Metoden Split ger som resultat ett fält, där varje komponent i fältet innehåller ett ord. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 17 Split - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 18 9

Felkontroll med TryParse När man läser indata i ett program bör man kontrollera at de är korrekta. Metoden TryParse finns för alla de enkla standardtyperna och den gör samma sak som metoden Parse. TryParse ger ett returvärde som man kan kontrollera. TryParse har två parametrar. Den första är texten som skall avkodas och den andra är den variabel det avkodade värdet skall läggas i (en out-parameter). Copyright 2015 -Mahmud Al Hakim www.webacademy.se 19 TryParse - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 20 10

Textfiler För att läsa eller skriva en fil kan man i C# koppla en ström till filen. Det enklaste är att använda klasserna StreamReader och StreamWriter som finns i namnrymden System.IO När man skapar strömmen ger man filens namn som parameter till konstruktorn. Copyright 2015 -Mahmud Al Hakim www.webacademy.se 21 StreamWriter - Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 22 11

StreamReader- Exempel Copyright 2015 -Mahmud Al Hakim www.webacademy.se 23 12