Agenda. Objektorienterad programmering Föreläsning 13
|
|
- Göran Georg Martinsson
- för 7 år sedan
- Visningar:
Transkript
1 Objektorienterad programmering Föreläsning 13 Copyright Mahmud Al Hakim Agenda Ett objektorienterat exempel Repetition Mer om arv Abstrakta klasser Abstrakta metoder Indexerare 1
2 Ett objektorienterat exempel Vi skall skriva ett program som låter användaren spela kortspelet Tjugoett med datorn. Kortspelet Tjugoett Spelet går till så att användaren får ett kort i taget och efter varje kort får avgöra om han vill ha ytterligare kort eller inte. Det gäller för användaren att försöka få summan av kortens valörer så nära 21 som möjligt utan att överstiga detta tal. Ess räknas som antingen 1 eller 14. Om användaren får över 21 förlorar man. Om användaren stannar under 21 får också datorn dra ett kort i taget. Om datorn får mer än 21 eller lägre poäng än användaren vinner användaren, annars vinner datorn. Datorn vinner på samma poäng. 2
3 Steg 1 Klassen Kort Klassen Kort beskriver spelkort. Vi behöver 2 uppräkningstyper (enum) som beskriver de fyra kortfärgerna (KLÖVER, RUTER, HJÄRTER, SPADER) och de olika valörerna (TVÅ, TRE, etc). Dessa uppräkningstyper deklareras utanför klassen. Vi kommer att behöva typerna i andra klasser senare. Uppräkningstyper Vi startar uppräkningen med 2 TRE blir 3 osv 3
4 Klassen Kort Instansvariabler och konstruktor Klassen Kort Egenskaper Värde ger kortets valör uttryckt som ett heltal 4
5 Klassen Kort ToString (version 1) Kom ihåg! Måste deklareras med ordet override eftersom den ärver en virtuell metod med samma namn från superklassen Object Ger en textversion av kortet t.ex. KLÖVER TVÅ Klassen Kort - Testprogram 5
6 Hur kan vi få bättre utskrifter? För att översätta ett korts färg och valör till lämplig textform använder vi två statiska fält (tabeller). Klassen Kort ToString (version 2) Exempel Om f är 0 så är färgtab[0] = Kl Exempel Om Värde är 2 (vi startar ju med 2) så är valörtab[2-2] = 2 (Fält indexeras alltid från 0) 6
7 Steg 2 Klassen Kortbunt En generisk lista av typen Kort Där kommer vi att spara alla kort En slumpgenerator behövs för att blanda korten Klassen Kortbunt Metoden NyKortlek() Metoden Clear från klassen List tar bort alla element från listan. Detta behövs om vill starta ett nytt spel Nästlade for-satser fyller lista med alla kombinationer av färger och valörer Metoden Add från klassen List lägger till ett nytt kort 7
8 Klassen Kortbunt Metoden ToString() Med hjälp av foreach löper vi igenom alla element i listan. Här anropas ToString från klassen Kort Klassen Kortbunt - Testprogram 8
9 Klassen Kortbunt Egenskaper Metoden Count från klassen List returnerar antal element i listan En indexerare behövs om man t.ex. vill skriva s += bunt[5] Där s är en variabel av typen string och bunt är ett objekt av klassen Kortbunt Indexeraren returnerar ett kort och metoden ToString i klassen Kort anropas automatiskt! Då kan man titta på ett kort utan att behöva ta bort kortet från listan. Klassen Kortbunt Egenskaper - Test Övning Visa sista kortet i bunten 9
10 Klassen Kortbunt Metoden Blanda() Metoden Count från klassen List returnerar antal element i listan Metoden byter plats på två slumpmässiga kort 100 gånger Metoden Next från klassen Random generera ett slumptal mellan 0 och max antal element i listan Klassen Kortbunt Test Metoden Blanda() 10
11 Klassen Kortbunt Flera användbara metoder Metoden Insert från klassen List infogar ett kort i den första positionen Metoden RemovAt(0) från klassen List tar bort ett kort från den första positionen Klassen Kortbunt Flera tester 11
12 Steg 3 Klassen Spelare En spelare kan antingen vara en människa eller en dator. Klassen Spelare kan därför vara en superklass. Vi vill inte skapa några objekt av klassen Spelare därför markerar vi klassen som abstrakt (abstract) Metoden Spela är en abstrakt metod (blir virtuell automatiskt). Abstrakta metoder har ingen implementering (semikolon istället för klamrar). Abstrakta metoder deklareras i subklasserna. Subklasser som inte har egna versioner av alla abstrakta metoder måste också vara abstrakta. Klassen Spelare Instansvariabler leken är en referens till den kortlek som används i spelet. Relationen är "känner-till. En spelare måste känna till den kortlek som används i spelet för att kunna dra kort från den. Fråga Vad händer om vi skriver Kortbunt leken = new Kortbunt(); Aktuell poäng hand är en kortbunt som beskriver de kort spelaren har på handen 12
13 Klassen Spelare Konstruktorer och egenskaper En ny spelare måste få en referens till den kortlek som används i spelet. Referensen kopieras vidare till spelarens instansvariabel leken Klassen Spelare Metoden NyttSpel() Poängen nollställs Metoden SlängKorten från klassen Kortbunt tar bort alla kort Metoden anropar i sin tur Clear från klassen List som tar bort alla element från listan (som finns i Kortbunt). 13
14 Klassen Spelare Metoden NyttKort() Del 1 Metoden tar bort det översta kortet från leken och lägger kortet överst i hand Kortet sparas och returneras Klassen Spelare Metoden NyttKort() Del 2 14
15 Klassen Spelare Metoden ToString Indexeraren används här! ToString från klassen Kort anropas automatiskt Steg 4 Klassen Människa Människa är en subklass till klassen Spelare En konstruktorinitierare läggs efter parameterlistan. : base anropar superklassens konstruktor. 15
16 Klassen Människa Metoden Spela() del 1 Spela är ju abstrakt (virtuell) i superklassen Vi måste åsidosätta (överskugga) metoden i subklassen med nyckelordet override Klassen Människa Metoden Spela() del 2 Metoderna NyttSpel och NyttKort finns i superklassen Spelare 16
17 Klassen Människa Metoden Spela() del 3 Steg 4 Klassen Dator Människa är en subklass till klassen Spelare Datorn måste känna till motspelaren. motspelare är en referens (Känner-Till-Relation) Konstruktorinitierare läggs efter parameterlistan. : base anropar superklassens konstruktor. 17
18 Klassen Dator Metoden Spela() Steg 4 Klassen Tjugoett 18
19 Klassen Tjugoett Main forts. 19
Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim
Objektorienterad programmering Föreläsning 12 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till Arv Superklasser och Subklasser Dolda medlemmar (new och base) Statisk
Läs merObjektorienterad programmering Föreläsning 5
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
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 7 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Konstanter och readonly Statiska klasser Standardklassen Math Parameteröverföring Referensen
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 20 Förra gången: GUI: Sammanfattning Fler exempel: KryssEnkat och FotoAlbum Fönster med variabelt antal objekt Idag: Ett stort exempel:
Läs merObjektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer
Läs merJAVAUTVECKLING LEKTION 11
JAVAUTVECKLING LEKTION 11 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Mer om klasser och objekt Statiska/instans-metoder Överlagrade metoder Inkapsling Konstruktorer 1 UPPGIFT
Läs merObjektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 9 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Fält Grunderna Fält med komponenter av struct-typ Fält med referenser Standardklassen
Läs merObjektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim
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
Läs merDD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,
Läs merObjektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer
Objektorienterad programmering Föreläsning 10 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Fält fort. Fält som parametrar Parameterfält params Parametrar till Main Listor ArrayList
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 14 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Exceptionella händelser Vanliga Programfel Exception-klasser Automatiskt genererade
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 22 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Rekursion Samlingar Listor Mängder Avbildningstabeller 1 Rekursion För att förstå rekursion
Läs merStatistik över heltal
Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande
Läs mer2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning
2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten
Läs merFöreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser
Föreläsning 8 Arv och abstrakta klasser Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen (extends) Den nya klassen behåller alla egenskaper som den gamla
Läs merKlasshierarkier - repetition
Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet
Läs merTENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
Läs merStatic vs Dynamic binding Override vs Overload. Objekt-orienterad programmering och design Alex Gerdes och Sólrún Halla Einarsdóttir, 2018
Static vs Dynamic binding Override vs Overload Objekt-orienterad programmering och design Alex Gerdes och Sólrún Halla Einarsdóttir, 2018 Quiz: Gissa typen? Object o = new Square(100,100); Polygon p =
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel
Läs merJava-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }
Föreläsning 3 Arv Kategorisering Stora program leder till många klasser (tänk liknelsen med en affär med många varor). Att dela in saker i kategorier är en vanlig strategi för att hantera stora komplexa
Läs merKopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merÖvning 3. Datateknik A, Java I, 5 poäng
Datateknik A, Syfte: Att prova på att skriva egna klasser och skapa objekt av dessa klasser. Att skriva klasser med överlagrade metoder och konstruktor, samt att i en klass använda statiska medlemmar.
Läs merKursplanering Objektorienterad programmering
Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund
Läs mer"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde
Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande
Läs merPolymorfi. Objektorienterad och komponentbaserad programmering
Polymorfi Objektorienterad och komponentbaserad programmering Polymorfi, mångtydighet Polymorfi innebär att en viss konstruktion kan exekveras på olika sätt Överlagring av metoder ger ett polymorft beteende
Läs merAbstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.
DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/3 2017 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack Klassen Object
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merOutline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar
Läs merProgrammering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42
Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 19 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Konstruktion av egna grafiska komponenter Kontsruktion av egen komponent Att rita upp
Läs merLösningsförslag övning 2.
Objektorienterad programmering, Z1 Lösningsförslag övning 2. Uppgift 1. public class SIUnits { public static double yardspermeter = 1.093613; public static double poundperkilo = 2.204623; public static
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Läs merObjektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder
Objektorienterad programmering Föreläsning 6 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska
Läs merOOP Objekt-orienterad programmering
OOP F10:1 OOP Objekt-orienterad programmering Föreläsning 10 Mer om arv och klasshierarkier Interface Hierarkier - många nivåer OOP F10:2 Djur Rovdjur Hovdjur Fåglar Fiskar Björn Kattdjur Ko Lamm Hjort
Läs merCHALMERS TENTAMEN. 2018/2019, lp 1 DAT050. Uno Holmer
TENTAMEN KURSNAMN Objektorienterad programmering, 7.5p PROGRAM: DAI 2 (TIDAL-2) 2018/2019, lp 1 KURSBETECKNING EXAMINATOR DAT050 Uno Holmer TID FÖR TENTAMEN Onsdagen den 28/8 2019, 08.30 12.30 HJÄLPMEDEL
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merAgenda (obs! halvdag)
Objektorienterad programmering Föreläsning 3 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (obs! halvdag) Do-satsen Break-satsen Continue-satsen Goto-satsen Switch-satsen Villkorsoperatorn
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut
Läs merObjektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)
Objektorienterad programmering Föreläsning 15 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Grafiska användargränssnitt (GUI Graphical User Interface) Standardklassen (Control)
Läs merOutline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Klassen calculator Signatur Calculator
Läs merAbstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser.
DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/4 2014 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack UML-översikt
Läs merKlasshierarkier. Klasser kan byggas på redan definierade klasser
Klasshierarkier Klasser kan byggas på redan definierade klasser på två sätt: Klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: klassen partikel består av ett antal attribut av typen
Läs merSamlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om
Läs merkl Tentaupplägg
Tentaupplägg Allmänna Tips Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut
Läs merID1004 Laboration 4, November 2012
06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv
Läs merDAT043 - Föreläsning 7
DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merModeller, Objekt och Klasser
Modeller, Objekt och Klasser Bildserie 3 Objekt Orienterad Programmering OO-programmering bygger på att vi som människor uppfattar tillvaron i termer av objekt - Bastu, pizza, öl,... Det borde vara lättare
Läs merObjektorienterad programmering Föreläsning 20
Objektorienterad programmering Föreläsning 20 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Mer om användargränssnitt Verktygskomponenter (ToolStripItem) Verktygsfält (ToolStrip)
Läs merOOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merGrundläggande programmering. Grundläggande programmering. Idag. Kursinformation
Idag Grundläggande programmering Grundläggande programmering Kursinformation Kursinnehåll Java i allmänhet Varför? Exempel ett komplicerat Javaprogram från slutet av kursen Svårt Programspråkskonstruktioner
Läs merAdministrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering
Programmeringsteknik för I1 Övning 2 Administrativt Övningsgrupp 2 (Sal E32/D32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kontrollera att ni har fått Lab2 inrapporterad
Läs merKonstruktion av klasser med klasser
Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut
Läs merObjektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merÖvning vecka 6. public void method2() { //code block C method3(); //code block D }//method2
Övning vecka 6. TDA550 - Objektorienterad programvaruutveckling IT, fk Denna vecka ska vi titta på undantag, testning, generiska enheter, samlingar och designmönstret Iterator. Uppgift 1 Exceptions a)
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merObjektorienterad programmering i Java I
Laboration 4 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: 6 9 timmar Att läsa: Kapitel 7, 8 (stränghantering, arrayer och Vector) Utdelat material (paket) Syfte: Att kunna använda
Läs merUppgift 1 ( Betyg 3 uppgift )
Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs mera. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)
TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för Sy 2 2002-03-15, kl 09.00 13.00 Hjälpmedel: Endast bifogat kompendium Max: 66 poäng, för godkänt krävs 50%. Skriv tydliga och kortfattade svar 1. Grunderna
Läs merFöreläsning 5. Föreläsning 5. Klasser och objekt. Klasser och objekt. Klasser och objekt
Föreläsning 5 Föreläsning 5 Klasser och objekt Klasser och objekt Klasser och objekt Ett program i Java är en modell som används för att simulera uppträdandet hos en verklig eller påhittad värld. I ett
Läs merInnehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och
Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält
Läs merOutline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.
Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Signatur public static int parseint (
Läs merLaboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
Läs merEtt objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:
Klasser och objekt Ett program i Java är en modell som används för att simulera uppträdandet hos en verklig eller påhittad värld. I ett objektorienterat programspråk modelleras den värld som man vill avbilda
Läs merRepetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Läs merInledande programmering med C# (1DV402) Tärningarna ska kastas
Tärningarna ska kastas 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
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-03-15 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merIdag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Läs merJava, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
Läs merObjektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016
Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class
Läs merRepetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs merpublic class BoundedCounter {
Uppgift 1 I Javas standardbibliotek finns en klass för rektanglar. Nedanstående kod visar relevanta delar av klassen: public class Rectangle {... public Rectangle(int height, int weight) {... public Rectangle(int
Läs merArv och polymorfism i Java
1 (5) Arv och polymorfism i Java Objektorienterad programmering 5 Syfte Att ge en introduktion till arvsmekanismen i Java. Mål Efter övningen skall du kunna definiera klasser med arv i Java. förstå hur
Läs merMålen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1
Objektorienterad programmering Vi började med att programmera i main, sedan gick vi vidare till flera metoder i en klass. Nu är det dags för flera klasser. Objektorienterad programmering Relationer mellan
Läs merEnkla variabler kontra referensvariabel
Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen
Läs merProgramsystemkonstruktion med C++: Övning 2. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 2 Karl Palmskog palmskog@kth.se september 2010 Specalfunktioner i klasser Konstruktorer i konstruktorerna för en klass initieras klassens medlemmar initialvärden
Läs merI STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else
Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merKlassen BST som definierar binära sökträd med tal som nycklar och enda data. Varje nyckel är unik dvs förekommer endast en
Tentamen Programmeringsteknik II 2017-10-23 Skrivtid: 14:00 19:00 Inledning Skrivningen innehåller ett antal bilagor: Bilagan listsandtrees innehåller fyra klasser: Klassen List med några grundläggande
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs mer