Laboration 1 - Grunderna för OOP i Java
|
|
- Katarina Lundberg
- för 9 år sedan
- Visningar:
Transkript
1 Uppdaterad: Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben görs i grupper om två personer. De olika oop-begrepp och programkonstruktioner som behövs i labben kommer att gås igenom på de första föreläsningarna. Laborationen består av olika steg där du får öva på bl.a följande begrepp inom OOP: Klasser och instanser Meddelandesändning Polymorfism Arv Instansvariabler och klassvariabler (static-variabler) Metoder och klassmetoder (static-metoder) Inkapsling och "information hiding" (skydda implementationen) Skyddsnivåerna private, protected, public Relationer mellan objekt (arv, association och aggregat) Efter varje steg finns ett antal frågor att gå igenom. Det är smart att skriva ner svar på dessa frågor så kan du går tillbaka till dessa inför slutexaminationen. Under labben kommer du att modifiera och bygga på klasserna i programmet på olika sätt. Om du vill spara koden du skriver i de tidigare stegen kan du kommentera bort den gamla koden eller spara undan kopior på filerna. Steg 1 - polymorfism Skapa klasser med metoder enligt följande: Djur presenteradig() - ska skriva ut texten: "Morr. Jag är ett djur." Katt (ärver Djur) presenteradig() - ska skriva ut texten: "Mjau. Jag är en katt som heter " Hund (ärver Djur) presenteradig() - ska skriva ut texten: "Vov. Jag är en hund som heter " Lägg varje klass i en egen fil. Använd följande klass för att testa dina klasser: public class Lab1Steg1 public static void main(string[] args) Djur[] alladjur; int i; alladjur = new Djur[3]; alladjur[0] = new Katt("Kurre"); alladjur[1] = new Hund("Vilma"); alladjur[2] = new Katt("Bamse");
2 i = 0; while (i < alladjur.length) alladjur[i].presenteradig(); i = i + 1; Lägg även denna klass i en egen fil, som alltså ska heta Lab1Steg1.java OBS att du måste bestämma dig för var namnet på djuren ska sparas. Bäst är att lägga instansvariabeln för namnet i Djur (Katt och Hund ärver då denna). Du måste göra konstruktorer för klasserna Katt, Hund och Djur som tar en sträng för namnet på ett djur som argument. Använd super för att anropa konstruktorn i Djur från Katt och Hund. Frågor: Vad blir det för utskrift när man kör ovanstående kod? Vad menas med polymorfism? Hur fungerar polymorfismen i ovanstående program? Metoden presenteradig i Djur verkar ju aldrig anropas? Varför inte? Kommentera bort metoden presenteraddig i Hund. Vad händer nu när du kör programmet? Var sparas namnet för instanserna av Katt och Hund? (I vilken/vilka klasser har du lagt instansvariabeln som refererar till namnet på djuret? I både Katt och Hund, eller bara i Djur?) Rita ett klassdiagram på ett papper för klasserna Djur, Katt och Hund. Tag med alla instansvariabler och metoder i diagrammet. Hur fungerar koden i testprogrammet? Hur fungerar en array? Hur fungerar while? Kan du skriva om while-loopen som en for-loop? Steg 2 - instansvariabler och klassvariabler Lägg till en publik instansvariabel i klassen Djur av typen int som heter ålder. Modifiera metoderna presenteradig i klasserna Djur, Katt och Hund så att de också skriver ut hur gammalt djuret är. Här är ett exempel på kod för klassen Katt: public void presenteradig() System.out.println("Mjau. Jag är en katt som heter " + this.namn); System.out.println("och jag är " + this.ålder + " år gammal."); Testkör sedan med följande kod: public class Lab1Steg2 public static void main(string[] args) Djur kurre = new Katt("Kurre"); Djur vilma = new Hund("Vilma"); kurre.ålder = 6; vilma.ålder = 3; kurre.presenteradig(); vilma.presenteradig(); Frågor:
3 Vad blir utskriften? Förklara hur det kommer sig att instansvariabeln ålder i Djur kan användas i Katt och Hund när den är deklarerad i Djur. Vad består egentligen en instans av? Och vad består en klass av? Vad är skillnaden mellan en klass och en instans? Ändra deklarationen av instansvariabeln ålder i Djur till en klassvariabel genom att använda static på det här sättet: public static int ålder; Vad blir resultatet av utskriften nu? Vaför då? Det kan hända att du får varningar från kompilatorn om att du borde accessa ålder som Djur.ålder, men det bör gå att köra programmet i alla fall. Ändra annars referenserna till ålder i koden till Djur.ålder. Var sparas värdet på en instansvariabel? Var sparas värdet på en klassvariabel? Vad refererar den variabeln this till? Steg 3 - publika vs. privata variabler Här får du lära dig varför man ska skydda representationen (instansvariablerna) och du får också lära dig en del om konstruktorer, och prova att skriva en klassmetod (static-metod). Själva uppgiften för Steg 3 kommer i slutet av steget. Det är mycket osnyggt att använda publika variabler på det sätt vi gjorde i Steg 2. Anledningen är är koden blir känslig för ändringar. Antag att vi vill ändra representerationen av hur gammalt ett djur är från ålder till födelseår. Så här skulle det kunna se ut i klassen Djur i så fall: public class Djur public int födelseår; // variabeln ålder är borttagen... Plötsligt fungerar inte koden som använder variabeln ålder längre! Vi måste gå in och ändra i alla klasser där ålder används och skriva om koden så att den använder variabeln födelseår istället, och vi måste dessutom räkna ut åldern varje gång vi vill veta denna genom att ta nuvarande årtal minus födelseåret. I t.ex klassen Katt hade vi fått ändra till följande kod: public void presenteradig() System.out.println("Mjau. Jag är en katt som heter " + this.namn); System.out.println( "och jag är " + ( this.födelseår) + " år gammal."); Hade vi haft en metod som heter ålder istället hade vi däremot bara behövt ändra på ett enda ställe i koden - i klassen Djur. Så här skulle det kunnat ha sett ut i klassen Djur om vi hade gömt variabeln ålder från första början och kommit åt den via en metod istället: public class Djur private int ålder; public Djur(int ålder)
4 this.ålder = ålder; public int hämtaålder() return ålder; Koden i Katt hade då t.ex kunnat se ut så här: public class Katt extends Djur private String namn; public Katt(String namn, int ålder) super(ålder); // Observera anropet till superklassens konstruktor. this.namn = namn; public String hämtanamn() return this.namn; public void presenteradig() System.out.println( "Mjau. Jag är en katt som heter " + this.hämtanamn()); System.out.println( "och jag är " + this.hämtaålder() + " år gammal."); Notera att i ovanstående kod gömmer vi också instansvariabeln namn med private, för att den ska vara skyddad mot åtkonst av kod utanför klassen. Om man hellre vill lägga namn i Djur flyttar man metoden hämtanamn dit. Då slipper man ha variabeln namn i både Katt och Hund, men man måste i så fall ge konstruktorn till Djur ett extra argument för namnet. Kanske har du redan gjort på det sättet i de tidigare stegen. Nu när vi vill ändra representerationen av ålder till födelseår, så behöver vi endast ändra i koden för Djur. Koden i övriga klasser fungerar utan ändringar eftersom vi kommer åt ålder via en metoden hämtaålder i Djur. Koden i klassen Djur kan då se ut så här: public class Djur private static int nuvarandeår = 2004; private int födelseår; public Djur(int ålder) this.födelseår = Djur.nuvarandeår - ålder; public int hämtaålder() return Djur.nuvarandeår - this.födelseår; I ovanstående kod används en klassvariabel för att hålla reda på vilket år som är det nuvarande året. Årtalet är ju rimligtvis det samma för alla djur. (Såvida de inte börjar hålla på med tidsresor, i så fall behöver nuvarandeår vara en instansvariabel, men hur fungerar det då med åldern? Man borde ju vara lika gammal även när man reser i tiden, eller är det rimligt att man t.ex kan få en negativ ålder? Nu flippade visst labben ur...) Nu till din uppgift. Den är att skriva om ditt program enligt de riktlinjer vi har gått igenom så att alla
5 instansvariabler skyddas med private. Koden för klasserna ska fungera med följande testprogram: public class Lab1Steg3 public static void main(string[] args) Djur.sättÅrtal(2004); // Så här anropar man en klassmetod. // Hur ska koden för sättårtal se ut? Djur kurre = new Katt("Kurre", 6); Djur vilma = new Hund("Vilma", 3); kurre.presenteradig(); vilma.presenteradig(); Djur.sättÅrtal(2005); // Nu blir är ett nytt år för alla djur. kurre.presenteradig(); vilma.presenteradig(); Det kan hända att kompilatorn klagar på koden i de tidigare testprogrammen (Lab1Steg1 och Lab1Steg2). Du kan i så fall helt enkelt kommentera bort koden inuti dessa klasser så försvinner problemen. Frågor: Vad är skillnaden mellan private och public? Hur kommer man åt instansvariabler som är deklarerade som private från andra klasser? Kan man komma åt private-variabler i subklasser? Vi har inte använt protected ännu, men vad innebär det? Vad innebär det att använda private, public och protected på metoder? Vad betyder this nu igen? När kan man utelämna this och när måste man ha med this? Vad betyder super(ålder); i konstruktorn för klassen Katt i kodexemplet ovan? Hur skriver man en klassmetod (en static-metod)? Vad skiljer en klassmetod från en vanlig metod? Kan man komma åt instansvariabler från en klassmetod? Slutligen: Varför är det känsligt att accessa en instansvariabel, men mycket mindre känsligt att anropa en metod? Sammanfattningsvis: Att gömma implementationen (t.ex genom att göra instansvariablerna privata, men även metoder kan göras privata) är en en grundstenarna i OOP. Det är en del extra arbete att skriva metoder för att accessa variablerna, men det är väl värt detta i lite större program, och i yrkesmässig programmering är det en självklarhet. Steg 4 - relationer mellan objekt Det här är det sista steget i labb 1 och här får du lära dig mer om relationer mellan objekt. Objekt kan hänga ihop med varandra. Det kallas för relationer. Ett hus kan t.ex innehålla ett antal olika djur. För att hålla reda på vilka djur som finns i huset, kan huset ha en lista över djuren. Ett djur i sin tur kanske kan ha en leksak, och det kanske kan ha en kompis, en relation till ett annat djurobjekt. Arv är en typ av relation som brukar kallas för "är en" ("is a") på engelska). T.ex en Katt är ett Djur. Här används extends i Java. Association är en relation som säger att ett objekt "känner till" ett annat objekt. Här används instansvariabler i Java. Det finns även en variant av association som kallas aggregat ("består av"). Aggregat implementeras på samma sätt som en association i Java. Skillnaden är att aggregat är en hårdare koppling än association. Två viktiga typer av relationer (association/aggregat) är ett-till-ett (1:1) och ett-till-många (1:M). I fallet 1:1 har ett objekt en instansvariabel som refererar till ett annat objekt. Om ett objekt behöver kunna referera till många andra objekt (1:M) används en instansvariabel som är en array eller lista. ArrayList är ett exempel på en användbar list-
6 klass som finns i Javasklassbibliotek. Din uppgift är att skriva ett program som har följande struktur: Instanser av klassen Hus kan innehålla många Djur (1:M). Instanser av kassen Djur (eller instanser av dess subklasser Hund och Katt) kan ha en kompis, ett annat djur (1:1). Och en de kan referera till noll eller många instanser av klassen Leksak (1:M). Leksakerna ska skrivas ut när djuret presenterar sig. Klassen Leksak har en sträng som är namnet på leksaken. Namnet sätts i konstruktorn, och kan kommas åt med den publika metoden hämtanamn. Din kod för klasserna Hus, Djur, Hund, Katt, och Leksak, ska fungera med följande testprogram: public class Lab1Steg4 public static void main(string[] args) // Sätt årtalet för djuren. Djur.sättÅrtal(2004); // Skapa några djur. Djur kurre = new Katt("Kurre", 6); Djur vilma = new Hund("Vilma", 3); Djur bamse = new Katt("Bamse", 12); Djur smilla = new Hund("Smilla", 1); // Skapa leksaker. Leksak boll = new Leksak ("Boll"); Leksak sko = new Leksak ("Tuggsko"); Leksak mus = new Leksak ("Platsmus"); // Skapa huset. Hus hus = new Hus(); // Skapa relationer mellan objekten. hus.läggtilldjur(kurre); hus.läggtilldjur(vilma); hus.läggtilldjur(bamse); hus.läggtilldjur(smilla); kurre.sättkompis(vilma); vilma.sättkompis(smilla); bamse.sättkompis(kurre); kurre.läggtillleksak(boll); kurre.läggtillleksak(mus); vilma.läggtillleksak(sko); // Skriv ut vad som finns i huset. hus.skrivut(); Lite hjälp på vägen: så här kan metoden skrivut i Hus se ut: public void skrivut() System.out.println("Följande djur finns i huset:"); for (int i = 0; i < djurlista.size(); i++) // Notera typomvandlingen ("castningen") när variabeln djur // sätts till elementet på plats i i listan.
7 Djur djur = (Djur) djurlista.get(i); djur.skrivut(); Instansvariabeln djurlista i Hus är av typen ArrayList. Det är en klass i Javas klassbibliotek och för att kunna använda den måste du importera den med: import java.util.arraylist; Lägg import-satserna först i källkodsfilen, innan klassen. Nu fortsätter vi med en annan sak. Observera att man måste kolla att en variabel inte är null innan den används. Om man t.ex har en variabel kompis i djur som kan vara null måste man testa att den har ett värde innan man kan använda den. Här följer ett kodexempel som illustrerar detta: class Djur extends Object private Djur kompis; public Djur() // Till att börja med har ett nytt djur ingen kompis. this.kompis = null; public void sättkompis(djur djur) this.kompis = djur; public void skrivut() // Anropa presenteradig för att skriva ut // uppgifter om mig själv. Om this t.ex // är en Katt-instans, kommer då metoden // presenteradig i Djur eller i Katt att // anropas? this.presenteradig(); // Kolla att kompis är skild från null innan // meddelandet presenteradig skickas. if (kompis!= null) System.out.println("Här är uppgifter om min kompis:"); kompis.presenteradig(); public void presenteradig() System.out.println("Morr. Jag är ett djur."); // Överlagda metoden i subklasserna och skriv ut // namn och även leksakerna. Om du utgår från ovanstående kodexempel för klassen Djur i ditt program, behövs i så fall metoderna sättkompis och skrivut även i subklasserna Hund och Katt? Hur kan du bygga ut ovanstående kod för klassen Djur så att djurobjekt kan referera till leksaker? Vilka tillägg behövs i skrivut för att namnet på leksakerna i djurets lista med leksaker ska skrivas ut? Frågor:
8 Hur skapar man en ArrayList? Hur lägger man in ett objekt i en ArrayList? Hur itererar man över elementen i en ArrayList? Finns det flera sätt? Vad är en typomvandling ("cast") och när behövs den? Kan du beskriva vilka meddelanden som skickas till vilka instanser och vilka metoder som anropas när skrivut i Hus utförs? Rita ett översiktligt klassdiagram över ditt program där namnet på klasserna och relationerna mellan klasserna är utritade. Hur ritar man arv? Hur ritar man en 1:1 relation? Hur ritar man en 1:M relation? Examination och inlämning Examinationen består av två moment. Inlämning av labben på papper, och en muntlig genomgång. Be din lärare att komma och gå igenom labben med er när ni är klara. Du får då svara på några av frågorna under de olika stegen. Obs att ni ska kunna redogöra för all kod och alla frågor individuellt. Det är inte godtagbart att en person i gruppen har gjort det mesta av jobbet. Lämna in följande på papper i ett labbomslag: En utskrift av programkoden för det slutliga programmet (resultatet från steg 4). Alla klasser och publika metoder ska vara kommenterade med javadoc-kommenterar. Koden ska följa kodstandarden och vara enhetligt indenterad. Ett handritat klassdiagram för klasserna i programmet i steg 4. Dessa ska innehålla klassernas namn samt relationerna mellan klasserna. Avsluta med ett blad där du anger hur mycket tid du har använt för uppgiften (för din grupp), och några kortfattade reflektioner kring uppgiften. Det kan t.ex vara synpunkter på uppgiften och feedback till lärarna, vad som känns oklart, begrepp som är svåra, osv. Generera även javadoc-sidor för dina klasser. Checklista för examinationen Lärarna på kursen kommer att använda följande cheklistor vid examinationen av uppgiften. Checklista för inlämnat material: Är materialet inlämnat i tid? Är alla delar inlämnade? Uppfyller programmet kraven i uppgiften? Följer koden kodstandarden? Avvikelser ger rest. Är koden enhetligt indenterad? Slarvig indentering ger omedelbart rest. Är alla klasser och publika metoder i koden kommenterade med javadoc-kommentarer? Kommentarerna ska vara informativa och meningsfulla. Du behöver inte använda specialtaggar. Är javadoc-sidor genererade? Är alla krav uppfyllda? För den muntliga redovisningen ska alla i gruppen vara beredda att svara på följande frågor. Om du inte kan svara på en fråga ska du lämna in ett skriftligt svar till din lärare. Checklista för den muntliga redovisningen: Kan du berätta vad en kodstandard är bra för? Vad är en klass? Kan du berätta vilka delar en klassbeskrivning i Java innehåller? Ge exempel med hjälp av en klass i ert program. Kan du förklara skillnaden mellan en klass och en instans?
9 Kan du förklara vad instansvariabler är? Kan du förklara varför instanser har egna värden på instansvariabler, men delar på koden för metoderna? Kan du berätta vad synlighet innebär? Kan du ge exempel på hur "information hiding" används och vad det är bra för? Kan du förklara syntaxen för de olika kontrollstrukturer du har använt i ert program? Kan du visa ett exempel på en loop i ert program som itererar över en lista med objekt och förklara vad koden gör? Vad är "casting" (typomvandling)? När behöver man använda det? Kan du ge exempel hur strängar används?
UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Dagens 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
Grundlä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
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla
Fö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
OOP 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
JAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25
Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka
TENTAMEN 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
Arv: 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
Kort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Laboration 3, uppgift En klass för en räknare
Laboration 3, uppgift 1 3.1 En klass för en räknare Ursprungligen skriven av Erland Holmström. Magnus Myreen har uppdaterat vissa delar. Hösten 2014 Anvisningar: Programmet skall utformas enligt de principer
Malmö högskola 2008/2009 CTS
Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Administrativt. 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
Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
TDDC30. 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
Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel
Objekt Instansvariabler Instansmetoder Klassvariabler Klassmetoder Inkapsling Föreläsning 6 Vad är ett objekt? Ett objekt har egenskaper, som kallas för objektets attribut Egenskaperna beskriver tillsammans
Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 5 Innehåll Subklasser och arv Inledning till grafik (JFrame och JPanel).
TENTAMEN 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
2I1049 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
TENTAMEN 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
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
DAT043 - 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
UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.
Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel
Idag. 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
"Ä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
Fö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
Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder
Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i
Java, 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
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.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Lö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
Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
OOP 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
Klasshierarkier - 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
Klasser och objekt. Henrik Johansson. August 20, 2008
Föreläsning 5 Klasser och objekt Henrik Johansson August 20, 2008 Ett objekt är en modell av ett fysisikt eller ett tänkt ting. Objektet och det som vi kan göra med det beskrivs av en mall, en klass. Ett
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa
Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.
Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Objektorienterad 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
Idag. 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
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
DD2385 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,
Outline. 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
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 Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Kopiering 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
Föreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private
Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall
Tentamen i Grundläggande programmering STS, åk 1 fredag
Tentamen i Grundläggande programmering STS, åk 1 fredag 2002-08-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl.
I 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,
F8 - 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ÖSNINGSFÖRSLAG TENTAMEN
LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND
Imperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Lab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut
OOP Omtenta 2010-03-06 10.00 15.00
Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Fö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
OOP Omtenta 2011-03-05 10.00 15.00
Stockholms universitet 1 (6) OOP OOP Omtenta 2011-03-05 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv
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
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 riktiga provet tar 45 minuter (en lektionstimme) och det
TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
DD1342 Programkonstruktion för F1,
DD1342 Programkonstruktion för F1, 2007-2008 Lappskrivning 2 Tisdag 5/2 2008 kl 14.15 15.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter
Grundlä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Ö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
OOP Objekt-orienterad programmering
OOP F5:1 OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling Vi skall nu titta på ett exempel med myror. Varje myra har ett namn
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
Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 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
Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
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
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
Tentamen i Grundläggande programmering STS, åk 1 fredag
Tentamen i Grundläggande programmering STS, åk 1 fredag 2003-05-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl.
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
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 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
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Objektorienterad 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
Laboration A Objektsamlingar
Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa
Enkla 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
Mer om klasser och objekt
Klassvariabler och klassmetoder En klass kan innehålla klassvariabler och klassmetoder. TDA143 I1 Programmerade system Föreläsning 5 (OH-bilder 5) Mer om klasser och objekt Christer Carlsson Det som skiljer
TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
TENTAMEN 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
Fö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?
TDDC77 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
Objekt och referenser
Objekt och referenser Antag att vi har följande enkla klass: public class Person { private String namn; private String adress; private String personnummer; public Person() { namn = NN ; adress = ; personnummer
725G61 - Laboration 5 Grundläggande objektorientering. Johan Falkenjack
725G61 - Laboration 5 Grundläggande objektorientering Johan Falkenjack November 26, 2013 1 Inledning I labb 1-3 tittade vi på de grundläggande byggstenarna i programmering. Vi lärde oss om variabler, styrstrukturer
Må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
Arv. 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
Objektorienterad Programmering DAT043
Objektorienterad Programmering DAT043 Föreläsning 3 22/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Kom ihåg: Visa Javas API. Nämn att slidesens också har tillhörande text på kurshemsidan.
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-04-06, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
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
Tentamen Programmeringsteknik I 2017-03-16 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
Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt
Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras
Fö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
TDDE10 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
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex