Metoder. Inledande programmering med C# (1DV402)

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

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

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Statistik över heltal

Övningsuppgift. Repeterbara citat. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Inledande programmering med C# (1DV402) 85%43=42. OBS! Heltal 1 (14)

Inledande programmering med C# (1DV402) Introduktion till programmering

"if"-satsen. Inledande programmering med C# (1DV402)

Räkna med C# Inledande programmering med C# (1DV402)

Frekvenstabell över tärningskast med C#

Inledande programmering med C# (1DV402) Introduktion till C#

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

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

Klasser och objekt i C#

Gissa det hemliga talet

Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera.

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

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

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

Övningsuppgifter kapitel 8

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

Funktioner. Linda Mannila

Laborationsanvisning. Geometriska figurer. Steg 2, laborationsuppgift 3. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Tentamen i Introduktion till programmering

Laborationsanvisning. Digital väckarklocka. Steg 2, laborationsuppgift 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Receptsamling med fil

Objektorienterad programmering

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

TDIU01 - Programmering i C++, grundkurs

Föreläsning 3-4 Innehåll

Creative Commons. en guide för lärare. En guide för lärare

TDDC77 Objektorienterad Programmering

1 Funktioner och procedurell abstraktion

Frekvenstabell över tärningskast med C#

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

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

Föreläsning 5-6 Innehåll

Instuderingsfrågor, del D

Språket Python - Del 2 Grundkurs i programmering med Python

Att skriva till och läsa från terminalfönstret

Klassdeklaration. Metoddeklaration. Parameteröverföring

Typkonvertering. Java versus C

Java, klasser, objekt (Skansholm: Kapitel 2)

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Uppgifter teknik HT17 (uppdaterad v. 40)

Objektorienterad programmering i Java I

Creative Commons en guide för lärare

E13 "Behind the Wild"

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Uppgift 1 (grundläggande konstruktioner)

Planering Programmering grundkurs HI1024 HT 2014

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

Creative Commons en guide för lärare

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

TENTAMEN OOP

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

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

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

TDP002 - Imperativ programmering

Objektorienterad programmering D2

Problemlösning och funktioner Grundkurs i programmering med Python

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

TENTAMEN OOP

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Metoder (funktioner) Murach s: kap Winstrand Development

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

725G61 - Laboration 5 Grundläggande objektorientering. Johan Falkenjack

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Planering Programmering grundkurs HI1024 HT TIDAA

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

Konvertering från sträng. Winstrand Development

Planering Programmering grundkurs HI1024 HT data

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Föreläsning 6 pekare och pekare tillsammans med arrayer

PROGRAMMERING-JAVA TENTAMINA

Tentamen OOP

TUTORIAL: SAMLING & KONSOLL

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

Lösningsförslag: Instuderingsfrågor, del D

Övning. Introduktion och förberedelser

Funktionens deklaration

Objektorienterad Programmering (TDDC77)

TUTORIAL: KLASSER & OBJEKT

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

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

TDIU01 - Programmering i C++, grundkurs

Objektorienterad programmering

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

Föreläsning 3. Programmering, C och programmeringsmiljö

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Transkript:

Metoder

Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i detta verk av Mats Loock, förutom fotografi samt Linnéuniversitetets logotyp och symbol, är licensierad under: Creative Commons Erkännande-IckeKommersiell-DelaLika 2.5 Sverige licens. http://creativecommons.org/licenses/by-nc-sa/2.5/se/ Det betyder att du i icke-kommersiella syften får: kopiera hela eller delar av innehållet sprida hela eller delar av innehållet visa hela eller delar av innehållet offentligt och digitalt konvertera innehållet till annat format du får även göra om innehållet Om du förändrar innehållet så ta inte med fotografi samt Linnéuniversitetets logotyp och symbol i din nya version! Vid all användning måste du ange källan: Linnéuniversitetet Inledande programmering med C# och en länk till https://coursepress.lnu.se/kurs/inledande-programmering-med-csharp och till Creative Common-licensen här ovan. 2 (10)

Här är du nu Programmen du hittills skrivit har bara bestått av en lista med satser, ungefär på samma sätt som program skrevs under 1970-talet. Men mycket har hänt sedan dess 3 (10)

Större och mer komplexa program kräver struktur Strukturerad programmering, ett steg mot objektorienterad programmering, är ett sätt att programmera där satser som hör ihop grupperas. De grupperade satserna bildar en enhet som kallas metod. Det är möjligt att skicka data till en metod. En metod kan returnera data. Satser i en metod exekveras genom att metoden anropas. Omstrukturering av kod ( refactoring ) i en metod till flera metoder (kan) resulterar i marginellt mer kod men det uppvägs av att det blir enklare att skriva, läsa och underhålla koden. 4 (10)

Vad är en metod? Satsen System.Console.WriteLine("Hello, world!"); anropar en metod. System är namnutrymmet ( namespace ) klassen finns i. Console är klassen ( class ) metoden finns i. WriteLine är metoden ( method ) där satserna finns som skriver ut datat som skickas med i anropet ( call ). "Hello, world!" är argumentet ( argument ) som skickas med till metodens parameter ( parameter ). En metod finns alltid i en klass. (En klass används för att gruppera metoder, och data, som hör ihop.) Den som anropar metoden kan om möjligt skicka med data via argument. Metoden tar emot datat med hjälp av parametrar. En metod kan returnera data via ett returvärde ( return value ). I satsen index = int.parse("123"); returnerar metoden Parse heltalet 123. 5 (10)

Efter omstrukturering av koden Koden i Main-metoden har delvis omstrukturerats till fyra nya metoder. Programmet har nu en bättre struktur. Main-metoden är nu enklare att läsa och kod som läser in en bokstavs index är inte längre dubblerad utan har placerats i en egen metod, ReadCharacterIndex, som returnerar ett värde. De fyra nya metoderna har olika signaturer, d.v.s. namn och parameterlistor. 6 (10)

Anrop av metoden ViewIntroduction Metoden ViewIntroduction är en metod som inte har några parametrar eller returnerar något data. 1 2 7 (10)

Anrop av metod som returnerar en sträng Metoden ReadTextRow skriver ut en hjälptext och returnerar den sträng användaren matar in. Variabeln line refererar till strängen ReadTextRow returnerar. 1 2 8 (10)

Anrop av metod som returnerar ett heltal Metoden ReadCharacterIndex skriver ut en ledtext och returnerar ett heltal. 3 1 2 4 9 (10)

Skicka data till en metod Då metoden ViewCharInfo anropas skickas argument med data om strängen och vilket index användaren matat. Datat kopieras till parametrarna. 10 (10)