Professional Documents
Culture Documents
Bi 4. Giao din
Ni dung
nh ngha mt giao din Thc thi mt giao din
Bi 4. Giao din
m cc lp ca cc kiu khc nhau cng c tuy nhng khng nht thit phi cha mt quan h lp. V d:
Mt ngi v mt con vt cng c th hut so. iu khng c
ngha nn biu din lp Ngi v lp Vt l cc lp con ca lp i tng Hut_so. nhin khng nn xp hai i tng ny vo cng mt lp i tng no c
Bi 4. Giao din
}
4
Bi 4. Giao din GV. Trn Trng Hiu
void doSomething(int i, double x); int doSomthingElse(String s); } Hai ch k phng thc
Bi 4. Giao din
Ti sao?
Bi v mt giao din l mt kiu tru tng v ta khng th to ra
Bi 4. Giao din
Bi 4. Giao din
m t
p kiu
buc so
Bi 4. Giao din
din th i tng m ta gn cho bin ny phi l mt hin thc ca mt lp m thc thi giao din .
Relatable person = new Person(50.5); Relatable rectangle = new Rectangle(new Point(5, 5), 20, 40); Relatable a; a = new A(); Khai bo ny li nu lp A khng thc thi giao din Relatable.
10
Bi 4. Giao din
kiu Relatable:
public Object findLargest(Object object1,
Object object2) {
Relatable obj1 = (Relatable) object1; Relatable obj2 = (Relatable) object2; if ((obj1).isLargerThan(obj2) > 0) return object1; else return object2; Phng thc ny cho php so snh hai i
tng kiu Person hay hai i tng kiu Rectangle.
GV. Trn Trng Hiu
}
11
Bi 4. Giao din
din ny
H to ra ba lp A, B, C cng thc thi DoIT.
12
Bi 4. Giao din
DoIt:
public interface DoIt { void doSomething(int i, double x); int doSomethingElse(String s); boolean didItWork(int i, double x, String s); }
13
Bi 4. Giao din
14
Bi 4. Giao din
Ta nn lm th no nu mun m hnh th g m c th o c?
15
Bi 4. Giao din GV. Trn Trng Hiu
16
Bi 4. Giao din
17
Bi 4. Giao din
} } /** * A frog can be a predator or a prey. */ public class Frog implements Predator, Prey {
// implement methods of the two interfaces here...
}
19
Bi 4. Giao din GV. Trn Trng Hiu
/**
* A snake is a venomous predator and it can be prey.
*/ public class Snake implements VenomousPredator, Prey { // implement methods of the two interfaces here }
20
Bi 4. Giao din