Exempel på frågor till tentans del I
Obs! Det kan komma andra frågor än dessa på tentan!
Frågor
- Ange två skillnader mellan Javas grafikpaket swing och awt.
- a. Om man vill försäkra sig om att ett program kan skapa
endast ett objekt av en klass, hur gör man?
b. Vad kallas designmönstret?
- Vilket är syftet med designmönstret Singleton? (variant av föregående fråga)
- Vad kallas det designmönster som tillämpas av Javas lyssnarklasser och
lyssnarinterface och de grafiska komponenter som kan lyssnas på ?
- Vad betyder MVC inom programutveckling ?
- Vilken roll spelar MVC för Javas swing-komponenter ?
- Vad är ett
interface i java ?
- Vad är en abstrakt klass i Java?
- Vad är skillnaden mellan abstrakt klass och interface i Java ?
- Vad är en Layout-manager i Java?
- Rita ett UML-klassdiagram över följande schematiska kombination av
klasser och interface. Tänk på att öppna och slutna pilspetsar betyder
olika saker och att heldragna och streckade linjer också har olika
betydelser!
interface I {
void metoden();
}
class A {...}
class B extends A {
private C[] c = new C[49];
B() {
for (int i=0; i<49; i++)
c[i] = new C(...);
}
...
}
class C implements I {
A theA;
...
}
- Vad är fördelen med att ha inre klasser? Finns det någon nackdel?
- Vilka (minst tre) Javaklasser behöver man definitivt för att skriva ett
serverprogram som kan hantera flera klienter samt ett klientprogram ?
Vilka två viktiga data om servern behöver ett klientprogram för att
kunna koppla upp sig ?
- Om två olika trådar samtidigt försöker ändra ett vaialbelvärde
så kan det bli problem (t.ex. om trådarna är bankomater och variabeln
är saldot på ett bankkonto). Vilket är problemet och hur löses
det i Java ?
-
En klassdeklaration börjar så här:
<m1> class C {
<m2> void m() { ... }
... symboliserar metodkropp och <m1> resp.
<m2> står för en modifierare: private, protected,
public eller ~ , där det sista får symbolisera att
man inte skriver något alls.
I ett annat paket än det där C ligger vill vi ha en klass som
ärver från C och definierar om metoden m() .
a. Vad ska det stå i stället för <m1> ?
A) protected B) private
C) ~ D) public
b. Vad ska det stå i stället för <m2> ?
A) protected eller private
B) protected eller ~
C) protected eller public
D) public eller ~
- Vad blir utskriften från följande program ?
class X {
void m () { System.out.print("Hej "); }
}
class Y extends X {
void m () { System.out.print("Hopp "); }
}
class HejHopp {
public static void main (String[] a) {
X x1 = new X(); X x2 = new Y(); Y y = new Y();
x1.m(); x2.m(); y.m();
System.out.println();
}
}
A) Hej Hej Hopp
B) Hej Hopp Hopp
C) Hej Hej Hej
D) Hopp Hopp Hopp
- Vad menas med ramverk (framework) i programutvecklingssammanhang ?
Ge några exempel från Java-API:n.
- Om variabeln
a referear till en objektsamling
(t.ex. en ArrayList eller LinkedList) så kan
man under vissa förutsättningar få samlingen sorterad genom att anropa
metoden Collections.sort(a) . Vad måste gälla för att
sorteringen ska gå att genomföra?
- I Java kan man inte direkt ha en funktion (metod) som parameter till
en metod, dvs man kan inte anropa rita(f1) och rita(f2) där f1 och f2 är
funktioner.
Hur åstadkommer man att rita kan använda olika funktioner
vid olika anrop i samma programkörning, alltså utan att kompilera om
programmet emellan (det duger inte att välja funktion med if-sats)?
Vad kallas designmönstret (det finns två snarlika) ?
- Vad menas med "Mock Object" och vilken fördel är det att använda
den tekniken ?
- Vad är en fabriksmetod? Nämn två skäl för att använda sådana.
- Om du har tillgång till ett Java-ramverk med 112 klasser fördelade
på tre paket och ofta behöver använda ett par kombinationer av metoder
ur 7 av dessa klasser, vilket designmönster är lämpligt att använda
för att underlätta ?
- Om N st objekt som inte känner till varandra (alltså inte har
referenser till varandra) ska utbyta information, vilket designmönster
kan då användas ? Hur sker kommunikationen ?
- Para ihop arbetssätten Vattenfall och eXtreme Programming
med följande karakteristika:
a) Testfasen ligger sent i projektet
b) Programmeringen sker i par
c) Systemspecifikation görs tidigt
d) Kunden/beställaren är med hela tiden i projektet
- Beskriv skillnaden mellan Code-and-fix och
Rapid prototyping.
|