Objektorienterad programmering Föreläsning 5

Relevanta dokument
Objektorienterad programmering

Agenda. Objektorienterad programmering Föreläsning 13

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

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

JAVAUTVECKLING LEKTION 11

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

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

Objektorienterad programmering

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

Java, klasser, objekt (Skansholm: Kapitel 2)

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

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Objektorienterad Programmering (TDDC77)

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

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

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

Objektorienterad programmering

JAVA Mer om klasser och objektorientering

TDIU01 - Programmering i C++, grundkurs

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

TUTORIAL: KLASSER & OBJEKT

Malmö högskola 2008/2009 CTS

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

OOP Objekt-orienterad programmering

Övningar Dag 2 En första klass

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

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

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

Lösningsförslag övning 2.

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

Objektorienterad Programmering (TDDC77)

Objektorienterad programmering

OOP Objekt-orienterad programmering

Objektorienterad programmering Föreläsning 4

Objekt och klasser - Introduktion

(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

Agenda (obs! halvdag)

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

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

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

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

Modeller, Objekt och Klasser

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

1 Egna klasser. 1.1 En punkt-klass

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

Föreläsning 3-4 Innehåll

Objektorienterad Programmering DAT043

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

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

Objektorienterad programmering Föreläsning 20

Objektorienterad programmering D2

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

C++ Objektorientering - Klasser. Eric Elfving

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Föreläsning 4. Klasser och objekt

OOP Objekt-orienterad programmering

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Laboration 1 - Grunderna för OOP i Java

Objektorienterad Programmering (TDDC77)

Föreläsning 5. Föreläsning 5

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

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Objekt och klasser - Introduktion. Objekt. Spar_Konto 2. Spar_Konto 1. Konton. Ett objekt har: Ett bankkonto. public void uttag(double belopp)

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.

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

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

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

Föreläsning 5-6 Innehåll

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.

Objekt, Klasser, Paket m. m.

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

Kursplanering Objektorienterad programmering

Anteckningar 1: Grundläggande saker

TDIU01 - Programmering i C++, grundkurs

Laboration 1: Figurer i hierarki

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

Enkla variabler kontra referensvariabel

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

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

Generiska konstruktioner. Kursbokens kapitel 13

LÖSNINGSFÖRSLAG TENTAMEN

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

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

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

TDDC76 - Programmering och Datastrukturer

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 )

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Tentamen OOP

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

PROGRAMMERING-JAVA TENTAMINA

C++ Objektorientering - Klasser. Eric Elfving Institutionen för datavetenskap

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

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

Transkript:

Objektorienterad programmering Föreläsning 5 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda UML Övning Mer om metoder Standardklassen String Konstruktorer Överlagrade metoder Standardklassen Random Struct-typer Copyright 2015 - Mahmud Al Hakim www.webacademy.se 2 1

Rita ett klassdiagram som beskriver följande klass Copyright 2015 - Mahmud Al Hakim www.webacademy.se 3 Metoder (instansmetoder) Metoder beskriver vad man kan göra med objekt. En metoddeklaration består av två delar, ett huvud och en kropp. I huvudet talar man om hur metoden ska användas. Kroppen omges av klamrar och beskriver vad som ska ske när metoden anropas. Metoder kan returnera ett värde med hjälp av en return-sats. För att använda en metod måste man anropa metoden. Detta görs med hjälp av punktoperatorn. referensnamn.metodnamn(argument) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 4 2

Exempel Klassen Tidpunkt Copyright 2015 - Mahmud Al Hakim www.webacademy.se 5 Klassen TidDemo Copyright 2015 - Mahmud Al Hakim www.webacademy.se 6 3

Visa aktuellt klockslag i kommandofönstret Copyright 2015 - Mahmud Al Hakim www.webacademy.se 7 Standardklassen String Det finns många egenskaper och metoder i klassen String. Några viktiga är: Egenskapen Length: ger antalet tecken. Metoden ToUpper: ger en kopia av strängen där alla bokstäver ersatts med stora. Metoden ToLower: ger en kopia av strängen där alla bokstäver ersatts med små. Metoden Substring: ger en deltext. Metoden Replace(s1,s2): byter ut s1 mot s2 Copyright 2015 - Mahmud Al Hakim www.webacademy.se 8 4

String Några exempel Copyright 2015 - Mahmud Al Hakim www.webacademy.se 9 Konstruktorer initiering av objekt En konstruktor är en speciell initieringsmetod som anropas automatiskt varje gång man skapar ett objekt av den aktuella klassen. Har samma namn som klassen. Får inte ha returtyp. Får finnas flera med olika parametrar eller olika typer av parametrar. En parameterlös konstruktor kallas defaultkonstruktor. En konstruktor kan anropa en annan konstruktor med hjälp av en konstruktorinitierare (:this) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 10 5

Konstruktorer Exempel Klassen Tidpunkt Copyright 2015 - Mahmud Al Hakim www.webacademy.se 11 Överlagrade metoder Man får ha hur många metoder som helst med samma namn men metoderna måste ha olika parametrar eller olika typer av parametrar. Metoder som har samma namn kallas överlagrade metoder. När man anropar en överlagrad metod avgör kompilatorn vilken av de överlagrade metoderna man menar genom att studera vilka argument man angivit (smart, eller hur!) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 12 6

Överlagrade metoder - Exempel public void Tick(int antalsek) { while (antalsek > 0) { Tick(); antalsek = antalsek -1; } } Copyright 2015 - Mahmud Al Hakim www.webacademy.se 13 Standardklassen Random I C# finns en standardklass som heter Random. Om man skapar ett objekt av denna klass får man en slumpgenerator.t.ex. Random r = new Random(); Metoden Next() ger ett slumptal av typen int i intervallet 0 till 2147483647 Metoden Next(b) ger ett slumptal av typen int i intervallet 0 till b-1 Metoden Next(a,b) ger ett slumptal av typen int i intervallet a till b-1 Copyright 2015 - Mahmud Al Hakim www.webacademy.se 14 7

Random - Exempel Copyright 2015 - Mahmud Al Hakim www.webacademy.se 15 Structer (Struct-typer) För att konstruera små, enkla klasser använder man i C# structer. Structer kan liksom klasser innehålla variabler, konstruktorer och metoder. När man deklarerar en variabel av struct-typ får man en databehållare, inte någon referens. (structer är värdetyper) Det finns en parameterlös defaultkonstuktor. Man får inte skriva någon egen sådan! Operatorn new skapar inte något nytt objekt. Den anropar bara en konstruktor. I en struct ges instansvariablerna ofta egenskapen public så att de blir synliga utanför structen. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 16 8

Struct - Exempel Copyright 2015 - Mahmud Al Hakim www.webacademy.se 17 Struct Exempel forts. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 18 9