Institutionen för TENTAMEN CTH VT-12 Datavetenskap TDA550 DAG: TID: 8:30 12:30
|
|
- Jan-Erik Strömberg
- för 9 år sedan
- Visningar:
Transkript
1 Institutionen för TENTAMEN CTH VT-12 Datavetenskap TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038 Förfrågningar: Resultat: Christer Carlsson erhålls via Ladok Betygsgränser: 3:a 24 poäng 4:a 36 poäng 5:a 48 poäng maxpoäng 60 poäng Siffror inom parentes: Granskning: Hjälpmedel: Var vänlig och: Observera: anger maximal poäng på uppgiften. Måndag 7/5 kl och torsdag 8/5 kl 12-13, rum 6128 i EDIT-huset. Inga hjälpmedel är tillåtna förutom bilagan till tesen. Skriv tydligt och disponera papperert på lämpligt sätt. Börja varje uppgift på nytt blad. Skriv ej på baksidan av papperet. Uppgifterna är ej ordnade efter svårighetsgrad. Titta därför igenom hela tentamen innan du börjar skriva. Alla program skall vara välstruktruerade, lätta att överskåda samt enkla att förstå. Vid rättning av uppgifter där programkod ingår bedöms principella fel allvarligare än smärre språkfel. LYCKA TILL!!!!
2
3 Uppgift 1. Betrakta nedanstående klasser och interface: public interface A { public void a(double x); //A public interface B { public void b(); //B public abstract class C implements A { public void a(double x) { System.out.println( "a() in C" ); //a public abstract void c(); //C public class D extends C implements B { public void b() { System.out.println( "b() in D" ); //b public void c() { System.out.println( "c() in D" ); //c //D public class E extends D { public void a(double x) { System.out.println( "a() in E" ); //a //E public class F extends D implements B { public void a(int i) { System.out.println( "a() in F" ); //a public void b() { System.out.println( "b() in F" ); //b //F <<interface>> A a(double): void {abstract C a(double): void c(): void D b(): void c(): void E a(double): void <<interface>> B b(): void F a(int): void b(): void Vad blir resultatet för var och en av följande satser (ger kompileringsfel, ger exekveringsfel, skriver ut xxx, etc)? a) A x = new C(); x.a(5); b) D x = new F(); x.a(5); c) F x = new F(); x.a(5); d) B x = new F( ); D y = (D) x; y.b(); e) B x = new D( ); F y = (F) x; y.b(); f) B x = new E( ); D y = (D) x; y.c(); (6 poäng)
4 Uppgift 2. a) Vad blir utskriften av nedanstående program? public class ExceptionStuff { private static boolean throwexception = true; public static void main(string[ ] args) { try { methoda(); catch (Exception e) { System.out.println("Caught Exception in main"); //main private static void methoda( ) throws Exception { System.out.println( "Enters methoda" ); try { methodb(); catch (Exception e) { System.out.println("Caught Exception in methoda"); finally{ System.out.println("finally in methoda"); System.out.println("Exits methoda"); // methoda private static void methodb( ) throws Exception { System.out.println("Enters methodb"); if (throwexception == true) { throw new Exception(); System.out.println("Exits methodb"); // methodb // ExceptionStuff b) Vad blir utskriften av ovanstående program om vi initierar variabeln throwexception till false? (4 poäng) Uppgift 3. Är nedanstående klass trådsäker? Motivera ditt svar! public class Utilities { public final int extra; public Utilities(int extra) { this.extra = extra; //constructor public int sum(int x, int y) { return x + y + extra; //sum public int product(int x, int y) { return x * y * extra; //product // Utilities (2 poäng)
5 Uppgift 4. a) Skriv specifikationen för nedanstående @returns... **/ public static double mean (int[] a, int n) { double sum = 0; for (int i = 0; i < n; i++) sum = sum + a[i]; return sum / n; //mean b) Betrakta följande specfikation för metoden getmostfrequent: Uppgift 5. returns the character that appears most frequently in throws NullPointerException if str == null */ public char getmostfrequent(string str) {... Denna specifikation är inte väldefinierad för alla möjliga indatavärden. Det är inte uppenbart vad metoden skall returnera när str är en tom sträng. Ge ytterligare ett exempel på en indatasträng för vilken beteendet av metoden inte är väldefinierat. Betrakta nedanstående klass för att simulerar händelser: public class Event { public final static int ARRIVAL = 0, DEPARTURE = 1, MEASUREMENT = 2; private int kind, time; public void execute(context context) { switch (kind) { case ARRIVAL: context.arrival(time); break; case DEPARTURE: context.departure(time); break; default: context.measurement(time); //execute public String tostring() { switch (kind) { case ARRIVAL: return "ARRIVAL" + " " + time; case DEPARTURE: return "DEPARTURE" + " " + time; default: return "MEASUREMENT" + " " + time; //tostring //Event (2 poäng) (2 poäng) Klassen bryter mot Open/Closed-principen. Man kan inte lägga till fler sorters händelser utan att ändra i metoderna execute och tostring. Använd designmönstret Template Method för att göra en bättre design som följer Open/Closedprincipen. Lösningen redovisas med Java-kod. (6 poäng)
6 Uppgift 6. Anta att standardklassen Float, som representerar reella tal som objekt, är implementerad enligt följande: public class Float { private float f; public Float(float f) { this.f = f; //constructor public float floatvalue() { return f; //floatvalue public boolean equals(object o) { if (! (o instanceof Float)) return false; float f1 = this.floatvalue(); float f2 = ((Float) o).floatvalue(); return (f1 == f2); //equal // more methods here that don t interest us now //Float Pelle Hacker beslutar att skriva en förbättrad variant av Float-klassen genom att göra en subklass TolerantFloat som tolererar små avvikelser när man jämför huruvida två reella värden är lika. Pelles kod har följande utseende: public class TolerantFloat extends Float { public static final float TOLERANCE = 0.01; public TolerantFloat(float f) { super (f); //constructor public boolean equals(object o) { if (!(o instanceof Float)) return false; float f1 = this.floatvalue(); float f2 = ((Float) o).floatvalue(); return (Math.abs(f1 f2) <= TOLERANCE); //equals // TolerantFloat I The Java Language Specification anges att en equals-metod skall vara reflexiv, symmetrisk och transitiv. i) Är TolerantFloat.equals() reflexiv? Om inte, ge ett exempel som visar detta. ii) Är TolerantFloat.equals() symmetrisk? Om inte, ge ett exempel som visar detta. iii) Är TolerantFloat.equals() transitiv? Om inte, ge ett exempel som visar detta. Uppgift 7. (6 poäng) Skriv om nedanstående klass så att den blir generisk och därmed kan användas för att handha andra klasser än bara String. public class Col { private ArrayList<String> c; public String get() { return c.remove(0); //get public void insert(string value) { c.add(value); //insert //Col (2 poäng)
7 Uppgift 8. I ett röstprogram med grafiskt användargränssnitt ingår bl.a. följande klasser: public class Counter { private int yescounter, nocounter; private View view; public Counter(View view) { this.view = view; public void incrementyes() { yescounter++; updateview(); public void incrementno() { nocounter++; updateview(); private void updateview() { view.update(yescounter, nocounter); //Counter import javax.swing.*; public class View extends JPanel { public void update(int yescounter, int nocounter) { // visar, på ett eller annat sätt, upp värdena av yescounter och nocounter på panelen //View public class Main { public static void main(string[] args) {... View view = new View(); Counter counter = new Counter(view);... //Main Designen har är bristfällig eftersom modellklassen Counter är beroende av vyklassen View. Modifiera designen med användning av Observer-mönstret så att vyn kan uppdateras utan att modellen känner till vyn. Lösningen redovisas med Java-kod. (6 poäng) Uppgift 9. Betrakta nedanstående klasser: public class Course implements Cloneable, Serializable { //... implementation are omitted for the sake of brevity //Course public class Student { private List<Course> courses; private String name; private int year; private double gpa; //... constructors and methods are omitted for the sake of brevity //Student a) Överskugga (implementera) metoden clone() i klassen Student. Djup kloning skall användas. (5 poäng) b) Gör de tillägg som behövs för att kunna skriva ut objekt av klassen Student på en fil. (1 poäng)
8 Uppgift 10. Antag att man har tillgång till följande klasser för att representera geometriska figurer <<interface>> Shape +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void Point {abstract #x: double #y: double -width:double -height: double Rectangle +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void -xradius:double -yradius: double Ellipse +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void Klasserna är givna och får inte ändras. Antag att man vill kunna addera en tredje dimension till rektangel- och ellipsobjekt så att de får en volym. De skall alltså även ha en höjd. Inför klassen Volume. Klassen skall bl.a ha metoden public double getvolume() För att göra detta skall du använda designmönstret Decorator enligt figuren nedan: <<interface>> Shape +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void Point {abstract #x: double #y: double. -height:double Volume +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void +getvolume(): double -width:double -height: double Rectangle +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void -xradius:double -yradius: double Ellipse +getwidth(): double +getlength(): double +getarea(): double +draw(): void +erase(): void +move(dx:double, dy: double): void +resize(factor: double): void a) Implementera klassen Volume i Java. (5 poäng) b) Ge ett kodexempel som skapar en kub och skriver ut dess volym. (1 poäng)
9 Uppgift 11. Klassen Assistants används för att hålla reda på vilka övningsassistenter som deltar på vilka kurser. Klassen använder sig av en Map där kurserna (som representeras av strängar) utgör nycklar och där övningsassistenterna på kursen (som också representeras som strängar) lagras i ett Set. public class Assistants { private Map<String, Set<String>> map; public Assistants() { // skall implementeras i deluppgift a) public void addta(string course, String taname) { // skall implementeras i deluppgift b) public void displaytaspercourse() { // skall implementeras i deluppgift c) // Assistants a) Implementera konstruktorn som skapar en tom Map. Deluppgift c) ger nödvändig information för att du ska kunna bestämma vilken konkret implementation av Map som skall användas. b) Implementera metoden addta som lägger till en övningsassistent på en specifik kurs. Om kursen inte redan finns i Map:en skall en map entry för kursen skapas. Deluppgift c) ger nödvändig information för att du ska kunna bestämma vilken konkret implementation av Set som skall användas. c) Implementera metoden displaytaspercourse som, på System.out, skriver ut namnet på samtliga kurser samt de övningsassistenter som finns på kurserna. Kurserna och övningsassistenterna skall skrivas ut i alfabetisk ordning enligt: Diskret matematik Anne Andersson Bo Bertilsson Pelle Persson Objektorienterad programmering Lisa Larsson Pelle Persson Sara Svensson (6 poäng) Uppgift 12. Betrakta nedanstående klass: public class Shutdown { /** Print msg and shut down JVM */ public static void shutdownnow(string msg) { System.out.println(msg); System.exit(1); //cause entire JVM to shut down // shutdownnow //Shutdown Klassen innehåller endast den statiska metoden shutdownnow, som har en sträng msg som parameter. Metoden skriver ut msg varefter programmet skjuts ner. Din uppgift är att utöka klassen med en metod public static void delayedshutdown(int seconds, String msg) som skall fungera som metoden shutdownnow förutom att det skall dröja seconds sekunder innan strängen mgs skrivs ut och programmet skjuts ned. Tips: Låt klassen Shutdown antingen implementera interfacet Runnable eller utöka klassen Thread. (6 poäng)
10 Uppgift 1. Tentamen LÖSNINGSFÖRSLAG a) Tilldelningen A x = new C() ger kompileringsfel eftersom klassen C är abstrakt. b) Ger utskriften a() in C c) Ger utskriften a() in F d) Ger utskriften b() in F e) Ger exekveringsfel, eftersom den dynamiska typen på x är D och typen D kan inte typomvandlas till typen F. f) Ger utskriften c() in D Uppgift 2. a) Utskriften blir: Enters methoda Enters methodb Caught Exception in methoda finally in methoda Exits methoda b) Utskriften blir: Uppgift 3. Enters methoda Enters methodb Exits methodb finally in methoda Exits methoda Ja, klassen är trådsäker eftersom den är icke-muterbar. Uppgift 4. a) a!= null and 0 < n <= returns the mean of the first n numbers in a **/ b) Till exempel är beteendet inte väldefinierat för strängen ab. Eller mer generellt, varje sträng där en eller flera tecken förekommer med samma frekvens, så är most frequently inte tillräckligt definierat.
11 Uppgift 5. public abstract class Event { protected int time; public abstract void execute(context context); public abstract String kind(); public String tostring() { return kind() + " " + time; //tostring //Event public class Arrival extends Event { public void execute(context context) { context.arrival(time); //execute public String kind() { return "ARRIVAL"; //kind // Arrival public class Departure extends Event { public void execute(context context) { context.departure (time); //execute public String kind() { return "DEPARTURE"; //kind // Departure public class Measurement extends Event { public void execute(context context) { context. measurement (time); //execute public String kind() { return "MEASUREMENT"; //kind // Measurement Uppgift 6. i) Ja, equals() är reflexiv. x.equals(x) ger true för alla objekt x av type Float och för alla objekt x av typen TolerantFloats. ii) Nej, equals() är inte symmetrisk. Om vi skapar objekten Float f = new Float(1.0f); TolerantFloat tf = new TolerantFloat(1.01f); erhåller vi att tf.equals(f) == true men att f.equals(tf) == false iii) Nej, equals() är inte transitiv. Om vi skapar objekten Uppgift 7. TolerantFloat tf1 = new TolerantFloat(1.0f); TolerantFloat tf2 = new TolerantFloat(1.01f); TolerantFloat tf3 = new TolerantFloat(1.02f); erhåller vi att tf1.equals(tf2) == true tf2.equals(tf3) == true men att tf1.equals(tf3) == false public class Col<E> { private ArrayList<E> c; public E get() { return c.remove(0); //get public void insert(e value) { c.add(value); //insert //Col
12 Uppgift 8. import java.util.observable; public class Counter extends Observable { private int yescounter, nocounter; public Counter() { public void incrementyes() { yescounter++; setchanged(); notifyobservers(); // incrementyes public void incrementno() { nocounter++; setchanged(); notifyobservers(); // incrementno public int getyescounter() { return yescounter; // getyescounter public int getnocounter() { return nocounter; // getnocounter //Counter import javax.swing.*; import java.util.*; public class View extends JPanel implements Observer { public void update(observrable o, Object obj) { if (o instanceof Counters) { Counter counter = (Counter) o; int yescounter = counter.getyescounter(); int nocounter = counter.getnocounter(); // visar, på ett eller annat sätt, upp värdena av yescounter och nocounter på panelen //View public class Main { public static void main(string[] args) {... View view = new View(); Counter counter = new Counter(); counter.addobserver(view);... //Main
13 Med användning av PropertyChangeSupport och PropertyChangeListener import java.beans.propertychangesupport; import java.beans.propertychangelistener; public class Counter { private PropertyChangeSupport pcs = new PropertyChangeSupport(this); private int yescounter, nocounter; public Counter() { public void addobserver(propertychangelistener observer) { pcs.addpropertychangelistener(observer); public void removeobserver(propertychangelistener observer) { pcs.removepropertychangelistener(observer); public void incrementyes() { yescounter++; pcs.firepropertychange("yescounter",new Integer(0),this); public void incrementno() { nocounter++; pcs.firepropertychange("nocounter", new Integer(0), this); public int getyescounter() { return yescounter; public int getnocounter() { return nocounter; //Counter import javax.swing.*; import java.util.*; import java.beans.propertychangelistener; import java.beans.propertychangeevent; public class View extends JPanel implements PropertyChangeListener { public void propertychange(propertychangeevent ev) { if (ev.getsource() instanceof CounterPC) { Counter c = (Counter) ev.getsource(); int yescounter = c.getyescounter(); int nocounter = c.getnocounter(); // visar, på ett eller annat sätt, upp värdena av yescounter och nocounter på panelen //View public class Main { public static void main(string[] args) {... View view = new View(); Counter counter = new Counter(); counter.addobserver(view);... //Main
14 Uppgift 9. public class Student implements Cloneable, Serializable { private List<Course> courses; private String name; private int year; private double gpa; public Student clone() { try { Student copy = (Student) super.clone(); copy.courses = new ArrayList<Course>(); for (Course course : courses) { copy.courses.add(course.clone()); return copy; catch (CloneNotSupportedException cnse) { return null; //clone //Student Med användning av kopieringskonstruktor: public class Student implements Cloneable, Serializable { private List<Course> courses; private String name; private int year; private double gpa; public Student(Student other) { this.name = other.name; this.year = other.year; this.gpa = other.gpa; this..courses = new ArrayList<Course>(); for (Course course : other.courses) { this.courses.add(course.clone()); public Student clone() { return new Student(this); //clone //Student Observera att i tesen fanns inga konstruktorer för klassen Student angivna, varför lösningar som anväder ickedefinierade konstruktorer inte accepteras.
15 Uppgift 10. a) public class Volume implements Shape { private Shape obj; private double height; public Volume(Shape obj, double height) { this.obj = obj; this.height = height; public double getwidth() { return obj.getwidth(); public double getlength() { return obj.getlength(); public double getarea() { return obj.getarea(); public void draw() { obj.draw(); public void erase() { obj.erase(); public void move(double dx, double dy) { obj.move(dx, dy); public void resize(double factor) { height = height * factor; obj.resize(factor); public double getvolume() { return obj.getarea()*height; b) Volume cube = new Volume( new Rectangle(0,0,10, 10), 10); System.out.println(cube.getVolume());
16 Uppgift 11. import java.util.*; public class Assistants { private Map<String, Set<String>> map; public Assistants() { map = new TreeMap<String, Set<String>>(); public void addta(string course, String taname) { Set<String> tas = map.get(course); if (tas == null) { tas = new TreeSet<String>(); map.put(course, tas); tas.add(taname); //addta public void displaytaspercourse() { for (String c : map.keyset()) { System.out.println(c); for (String taname: map.get(c)) System.out.println(taName); //displaytaspercourse // Assistants public void displaytaspercourse() { Iterator<Map.Entry<String, Set<String>>> itr1 = map.entryset().iterator(); while (itr1.hasnext()) { Map.Entry<String, Set<String>> me = itr1.next(); System.out.println(me.getKey()); Iterator<String> itr2 = me.getvalue().iterator(); while (itr2.hasnext()) { System.out.println(" " + itr2.next()); //displaytaspercourse public void displaytaspercourse() { Set<String> keys = map.keyset(); Iterator<String> itr1 = keys.iterator(); while (itr1.hasnext()) { String course = itr1.next(); System.out.println(course); Set<String> names = map.get(course); Iterator<String> itr2 = names.iterator(); while (itr2.hasnext()) { System.out.println(" " + itr2.next()); //displaytaspercourse
17 Uppgift 12. Klassen Shutdown implementerar interfacet Runnable: public class Shutdown implements Runnable { private int secs; private String msg; public Shutdown(int secs, String msg) { this.secs = secs; this.msg = msg; //construktor public static void shutdownnow(string msg) { System.out.println(msg); System.exit(1); // cause entire JVM to shut down // shutdownnow public static void delayedshutdown(int seconds, String msg) { Thread t = new Thread(new Shutdown(seconds, msg)); t.start(); // delayedshutdown public void run() { try { Thread.sleep(secs*1000); catch (InterruptedException e) { e.printstacktrace(); shutdownnow(msg); //run //Shutdown Alternativ lösning som där klassen Shutdown utökar klassen Thread: public class Shutdown extends Thread { private int secs; private String msg; public Shutdown(int secs, String msg) { this.secs = secs; this.msg = msg; //construktor public static void shutdownnow(string msg) { System.out.println(msg); System.exit(1); // cause entire JVM to shut down // shutdownnow public static void delayedshutdown(int seconds, String msg) { Thread t = new Shutdown(seconds, msg); t.start(); // delayedshutdown public void run() { try { Thread.sleep(secs*1000); catch (InterruptedException e) { e.printstacktrace(); shutdownnow(msg); //run //Shutdown
Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning:
Lös koppling mellan programdelar (klasser) eftersträvas ofta i objektorienterad programmering. Om klassen A beror av klassen B, hur kan man lösa upp detta beroende och åstadkomma en lösare koppling mellan
Lösningsförslag till tentamen
till tentamen 1 (6) Kurs Objektorienterad programmering Program D2 Läsår 2010/2011, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift 2 (11 p) public class CounterButton
Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.
Tentamen 101213 - LÖSNINGSFÖRSLAG Uppgift 1. a) Ger utskriften c( ) in D b) Ger utskriften true c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt. d) Ger utskriften b( )
Övning 4. I denna övning ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone.
TDA550 - Objektorienterad programvaruutveckling, fk Övning 4. I denna övning ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone. Uppgift 1 Icke-muterbarhet kontra
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-13 TDA550 DAG: 15-04-13 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-13 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-04-13 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Övning vecka 4. Denna vecka ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone.
TDA550 - Objektorienterad programvaruutveckling IT, fk Övning vecka 4. Denna vecka ska vi titta på icke-muterbarhet kontra muterbarhet, samt metoderna equals, hashcode och clone. Uppgift 1 Icke-muterbarhet
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-08-19 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Institutionen för TENTAMEN CTH VT-14 Datavetenskap 2014-04-22 TDA550 DAG: 14-04-22 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-14 Datavetenskap 2014-04-22 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 14-04-22 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2
TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,
Tentamen LÖSNINGSFÖRSLAG
Tentamen 111212- LÖSNINGSFÖRSLAG Uppgift 1. a) A constructor1 B constructor2 b) Satsen är giltig. Utskriften blir: b = 0 c) Kodsegmentet är ogiltigt. Rad 4 orsakar ett kompileringsfel, eftersom en superklass
Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation
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:
Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).
1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att
Objektorienterad programutveckling, fk
till tentamen P r e l i m i n ä r 1 (7) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Abstrahera ut aktiviteten i ett gränssnitt Trainee
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
SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.
SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata
Institutionen för TENTAMEN CTH HT-13 Datavetenskap TDA550 DAG: TID: 8:30 12:30
Institutionen för TENTAMEN CTH HT-13 Datavetenskap 2013-12-17 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 13-12-17 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-14 TDA550 DAG: 15-01-14 TID: 14:00 18:00
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-14 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-01-14 TID: 14:00 18:00 Ansvarig: Christer Carlsson, ankn 1038
Institutionen för TENTAMEN CTH VT-16 Datavetenskap 2016-01-13 TDA550
Institutionen för TENTAMEN CTH VT-16 Datavetenskap 2016-01-13 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 16-01-13 TID: 14:00 18:00 Ansvarig: Christer Carlsson, ankn 1038
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
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
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
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-08-19 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
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
Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.
Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Objektorienterad 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
TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (7) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.
Tentamen LÖSNINGSFÖRSLAG
Uppgift 1. a) Utskriften blir: b) A.f C.f Tentamen 170113 - LÖSNINGSFÖRSLAG i) anropet obj1.h() ger kompileringsfel eftersom den statiska typen Base inte har metoden h. ii) anropet obj2.h() ger kompileringsfel
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
Språkkonventioner och redigering av tal.
Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner
Övning 5. TDA550 - Objektorienterad programvaruutveckling, fk
TDA550 - Objektorienterad programvaruutveckling, fk Övning 5. Denna vecka ska vi titta på designmönstren Singleton, State, Observer, Composite och Decorator, samt gränssnittet Comparator. Uppgift 1 Syftet
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-04-12, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
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
Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck
Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck Josef Svenningsson Tisdag 13/1 Överlagring Ur klassen Math: public static max(int a, int b) public static max(double
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
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
Objektorienterad programvaruutveckling, fk, TDA550. Exempeltentamen
Objektorienterad programvaruutveckling, fk, TDA550 Exempeltentamen Uppgift 1. a) Vad skriver programmet ut? Motivera! public class A { public void f() { System.out.println("A.f"); public void h() { f();
OOP 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ösningsförslag till tentamen
till tentamen 1 (5) Kurs Objektorienterad programmering Kursbeteckning DAT042 Program D2, TKDAT Läsår 2012/2013, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift
TDDD78 Viktiga begrepp, del 2
jonas.kvarnstrom@liu.se 2015 TDDD78 Viktiga begrepp, del 2 Identitet och likhet Är likhet och identitet samma sak? Oj, vi har samma kläder på oss idag! Nej, men likadana! Besserwisser 3 Detta är två rutor
Tentamen Programmering fortsättningskurs DIT950
Tentamen Programmering fortsättningskurs Datum: 2015-03-17 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 G: 24-43 VG: 44-60 (max 60) Lärare:. Någon besöker ca 10.00
Tentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21
Mitthögskolan ITM Institutionen för Informationsteknologi och medier. Bertil Danielsson 060-14 86 82 Jan-Erik Jonsson 060-14 87 90 Tentamen i Java A Sida 1/6 Tentamen Grundläggande programmering i Java
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.
Innehåll The Last Adventure Den sista lektionen Repetition Examination Slutar 14:45 (minnesstund) Många saker "flashar" förbi - hojta Objektorientering Språket Java Class Object Inheritance Polymorphism
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)
Institutionen för TENTAMEN CTH HT-15 Datavetenskap 2015-08-27 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH HT-15 Datavetenskap 215--27 TDA54 Tentamen för TDA54 Objektorienterad programmering DAG: 15--27 TID: 14: 1: Ansvarig: Joachim von Hacht och Christer Carlsson Förfrågningar:
Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:
OOP Objekt-orienterad programmering
OOP F12:1 OOP Objekt-orienterad programmering Föreläsning 12 Mer om JOptionPane Undantagshantering Vad är det? try catch Kasta egna undantag Filhantering spara objekt mellan körningar Användardialog via
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-7, TDA540 Dag: 208-0-3, Tid: 4.00-8.00 Uppgift a) class används för en klassdeklaration som
Klasser och objekt i C#
Klasser och objekt i C# Från klassdiagram till C#-klass till objekt initierat av en konstruktor. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med
Institutionen för TENTAMEN CTH HT-17 Datavetenskap TDA550
Institutionen för TENTAMEN CTH HT-17 Datavetenskap 2017-01-13 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling, fk DAG: 17-01-13 TID: 14:00 18:00 Ansvarig: Christer Carlsson, ankn 1038
Lösningsförslag till tentamen
till tentamen 1 (5) Kurs Objektorienterad programmering Program DAI2 Läsår 2018/2019, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift 2 (4+2+3+5 p) a) public
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR
Instuderingsuppgifter läsvecka 6 - LÖSNINGAR 1. 2. Om vi använder interfacet List behöver vi inte bry oss om den konkret implementation som används, därför kan implementationen bytas ut genom att endast
Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-6, TDA540 Dag: 207-0-24, Tid: 4.00-.00 Uppgift a) En abstrakt klass kan inte instansieras,
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-08-24, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
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-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
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
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex
TENTAMEN: Objektorienterad programutveckling, fk. Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad.
1 (8) TENTAMEN: Objektorienterad programutveckling, fk Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.
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
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).
Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1
Computer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2
Computer projekttid Objektorienterad modellering och diskreta strukturer / design Inför tentamen Lennart Andersson Reviderad 2012 10 18 2012 2011 2012 timmar antal timmar 2 1 4 4 6 8 8 4 10 10 12 6 14
/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.
* * Lösningsförslag tentamen DIT950 * Datum 150317 * * -1 - För samtliga gäller,se föreläsningsanteckningar. * - 2 - (Diagram visas inte, kontakta mig för ev frågor) // a C c = new A(); // Compile! Sub
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
Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24
Mera om generik Innehåll Generik och arv Wildcards Vektorer och generik Generiska metoder EDA690 (Mera om generik) HT 2013 1 / 24 Begreppet subtyp/supertyp i Java Supertyper för en viss klass C är alla
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Tentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004
Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical
Objektorienterad programutveckling, fk
till tentamen P r e l i m i n ä r 1 (6) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Metoden i tesen bryter mot designprincipen separation
Concurrency Saker händer samtidigt. Process En instans av ett program
Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
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
Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.
Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.
Föreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
Parallellism, återblick
Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata
EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
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
Classes och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Föreläsning 9: Arv och UML
TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Objektorienterad 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
Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.
Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv
Föreläsning 9. Generiska enheter Inre klasser Anonyma klasser Kloning
TDA550 Objektorienterad programmering, fortsättningskurs Föreläsning 9 Generiska enheter Inre klasser Anonyma klasser Kloning Objektorienterad programmering fk 1 Föreläsning 9 Generiska programenheter
Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?
Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket
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
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
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?
Föreläsning 12: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 12: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Problemlösning, dvs hur man ska tänka för att hitta lösning int mängd/set
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