1 / 15

Operationer och metoder

Operationer och metoder. Objekt: data och metoder. Dataorienterad programmering. Funktionsorienterad programmering. Data. Metoder. Objekt. Objektorienterad programmering. Data. Metoder. Metodens signatur.

mimis
Download Presentation

Operationer och metoder

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operationer och metoder

  2. Objekt: data och metoder Dataorienterad programmering Funktionsorienterad programmering Data Metoder Objekt Objektorienterad programmering Data Metoder

  3. Metodens signatur Ordet public anger att metoden är synlig utifrån, dvs att även andra program (klasser) kan anropa den. Ordet static anger att metoden är en klassmetod (statisk metod). Detta nyckelord utelämnas helt, om vi vill använda det för objekt. Om en metod skall returnera något måste rätt datatyp anges här. Om metoden inte lämnar något returvärde skriver man istället void. Parametrar till metoden. Dessa fungerar inom metoden som lokala variabler. Metodens namn public static int minstaTalet (int a, int b) { if (a < b) return a; return b; } Kombinationen utav metodnamn, formella parametrar och returtyp, kallas för metodens ”signatur”

  4. Klass i UML klassnamn Person födelsedag : DateTime namn : string telefon : string attribut Person(födelsedag : DateTime, namn : string, telefon : string) Telefon() : string Telefon(value : string) Namn () : string Födelsedag () : DateTime DagarTillNästaFödelsedag () : int operationer

  5. Objekt i UML objektidentifierare:klassnamn eva : Person födelsedag = ”1980-12-24” namn = ”Eva” telefon = ”021-101300” attribut med ev värden

  6. Vad är objekt? Data Metoder (algoritmer) class Bil { string regnr; float liter; float km; } static float förbrukning (Bil b2) { return b2.liter/b2.km*10; } Bil regnr liter km förbrukning()

  7. Objektorientering class Bil { string regnr; float liter; float km; } En klass är en “ritning” eller en “mall” som beskriver objekten. Klassen reserverar inget minnesutrymme för data utan varje objekt har sitt eget datautrymme. float förbrukning () { return liter/km*10; } Ett objekt innehåller variabler och metoder. Värdet av variablerna definierar objektets tillstånd och metoderna definierar objektets beteende. ... Bil b2 = new Bil(); ... En klass beskrivs i programkoden medan objekten skapas och existerar under exekveringen av programmet.

  8. Objektet Bil minBil:Bil regnr:string liter:float km:float regnr = ”NHG 084” liter = 2977 km = 61267 Privat minne (för att lagra data) forbrukning():float float forbrukning () { return liter/km*10); } Instruktioner (för att bearbeta data) class BilTest { public static void Main (string[] args) { Bil minBil = new Bil(); minBil.regnr = ”NHG084”; minBil.liter = 2977; minBil.km = 61267; System.Console.WriteLine(minBil.forbrukning()); } }

  9. Operationer och metoder Klassnamn operation (argumentlista): returtyp • operation – ”deklarationen” • metod - operationens kropp (koden, ”definitionen”) • en operation kan motsvaras av flera metoder (polymorfism) • Metoderna beskrivs med algoritmer på ”vanligt” sätt: • pseudokod/strukturerad svenska • flödesdiagram eller JSP

  10. new, konstruktor Deklaration och initiering av en värdevariabel tal av datatypen int int tal = 4; Deklaration och initiering av en referensvariabel ruta av klassen Rektangel Rektangel ruta = new Rektangel(5,6); Initieringen sker genom operatorn new och en konstruktor i klassen Rektangel

  11. konstruktor En konstruktor är en speciell metod, som endast används för att initiera objekt. Den har samma namn som klassen. Att skapa ett objekt är samma sak som att skapa en ny instans av klassen. Själva objektet saknar namn. Det är referensen som heter ruta. Man når objektet via referensen. Om man deklarerar en egen konstruktor och dessutom vill ha tillgång till ”den tomma konstruktorn” (utan argument, vilken man annars ärver från Object) så måste man deklarera även denna.

  12. Algoritmer Interaktionsdiagram • En interaktion är en beskrivning av en följd av åtgärder som vidtas på grund av en händelse • Realisera händelsernas respons med operationer och meddelanden mellan objekten (klasserna) • Interaktionen beskriver ett dynamiskt förlopp • Använd flera diagram för att visa olika utfall vid komplexa scenarion

  13. Sekvensdiagram a:ClassA b:ClassB message1() message2() message3()

  14. Interaktionsdiagram class ClassB { void message2() {} void message3() {} } class ClassA { ClassB b = new ClassB(); void message1() { b.message2(); b.message3(); } }

  15. this vid åtkomst av attribut Närhelst du vill vara säker på att du använder objektets instansattribut, kan du ange this som prefix till attributet. class A { int a; void function(int a) { this.a = a; } }

More Related