Revised: Feb./23rd/2003: Since: Dec./31st/2001
$BDL>o$N%/%i%9$N>l9g$O!"%$%s%9%?%s%92=$K$h$j:n$i$l$k%*%V%8%'%/%H$r;2>H$9$k(B ID $B$rBeF~$9$kJQ?t$r(B$B%/%i%97?JQ?t(B$B$H$7$F@k8@$7$^$9!#(B
$B%$%s%?%U%'!<%9(B$B7?$NJQ?t$bDj5A$G$-$^$9!#%$%s%?%U%'!<%97?$G@k8@$5$l$?;2>H7?JQ?t$K$O!"$=$N%$%s%?%U%'!<%9$r
$B%/%i%97?JQ?t$N>l9g!"Ev3:%/%i%9$+$i@8@.$5$l$?%*%V%8%'%/%H$N$_$J$i$:!"%5%V%/%i%9$+$i@8@.$5$l$?%*%V%8%'%/%H$rBeF~$G$-$^$9!#%$%s%?%U%'!<%97?%*%V%8%'%/%H$N>l9g!" $BNc$($P!"S.F}N`%/%i%9(B "is-a" $B4X78$O!"!V!A$O!A$G$"$k!W!"!V!A$O!A$N0l $B%*%V%8%'%/%H$O!"3F!9$,<+J,$N@UG$$GF0:n$7$^$9!#$D$^$j!"0z?t$J$I$GF0:n$rFCDj$7$J$/$H$b!"<+J,$,$J$9$Y$-$3$H$r%*%V%8%'%/%H$,CN$C$F$$$k$N$G$9!#$3$l$r(B$BB?BV@-(B$B!J%]%j%b!<%U%#%:%`!K$H8F$S$^$9!#(B $B6qBNE*$K@bL@$7$^$9!#%*%V%8%'%/%H$r%9!<%Q!<%/%i%97?$d%$%s%?%U%'!<%97?$KBeF~$7$F%a%=%C%I8F$S=P$7$r$9$k$H!"3F!9$,@8@.$5$l$?%/%i%97?$K1~$8$FE,@Z$KF0:n$7$^$9!#$D$^$j!"F1$8%/%i%97?!"%$%s%?%U%'!<%97?$N%*%V%8%'%/%H$KBP$7$FF1$8%a%=%C%I$r8F$S=P$7$F$b!"$=$N%*%V%8%'%/%H$,@8@.$5$l$?%*%j%8%J%k$N%/%i%9$K1~$8$F!"0[$J$kF0:n$r$9$k$o$1$G$9!#(B $BNc$($P!"(BDrawable $B%$%s%?%U%'!<%9$K(B draw() $B%a%=%C%I$rDj5A$7$F!"$3$l$r(B Rectangle, Circle$B!"(BTriangle $B$G $B$3$l$i$N6q>]%/%i%9$G$O(B draw() $B$,JL!9$K $B$3$l$,B?BV@-!J%]%j%b!<%U%#%:%`!K$G$9!#(B $B
$B%$%s%?%U%'!<%97?JQ?t(B $BCountableDemo.java $B$O!"%$%s%?%U%'!<%9(B Countable $B$rMammal
$B$r7Q>5$7$FG-%/%i%9(B Cat
$B$r:n$k>l9g!"!VG-$OS.F}N`$G$"$k!#!W(B(A Cat is a Mammal.) $B$H$$$&4X78$K$"$j$^$9!#L>$E$1$i$l$k%*%V%8%'%/%H$N@8@.85%/%i%9$r<1JL$9$k%$%s%?%U%'!<%9(B Nameable
$B$r$BB?BV@-(B
Drawable[] shapes = { new Rectangle(), new Circle(), new Triangle() };
shapes[0].draw(); // $BD9J}7A$rIA$/(B
shapes[1].draw(); // $B4]$rIA$/(B
shapes[2].draw(); // $B;03Q7A$rIA$/(B
$B%5%s%W%k(B
main()
$B%a%=%C%I$+$i$O!"%$%s%?%U%'!<%97?0z?t$r;}$D%a%=%C%I$K!"Ev3:%$%s%?%U%'!<%9$rTestInterface4.java
:
// $B%$%s%?%U%'!<%9(B
interface Circle {
String calc(double d);
}
// $B
Circle obj
$B$O!"Ev3:%$%s%9%?%s%9$rCircum obj1
, Area obj2
$B$G$b!"JQ?t$N7?$H$7$F0lCW$7$^$9!#(B
C:\java>javac TestInterface4.java
C:\java>java TestInterface4
$BH>7B!'(B10$B!!1_<~!'(B62.83185307179586
$BH>7B!'(B10$B!!LL@Q!'(B314.1592653589793
C:\java>
$B%5%s%W%k(B
interface Countable {
int getCount();
void setCount(int aCounter);
}
class Dog implements Countable {
private int counter;
public int getCount() {
return counter;
}
public void setCount(int aCounter) {
counter = aCounter;
}
}
class Car implements Countable {
private int number;
public int getCount() {
return number;
}
public void setCount(int aCounter) {
number = aCounter;
}
}
class CountableDemo {
public static void main(String[] args) {
Dog dog = new Dog();
Car car = new Car();
// is-a $B4X78(B
Countable[] objs = {dog, car};
// $B%$%s%?%U%'!<%9!&%a%=%C%I$NMxMQ(B
objs[0].setCount(10);
objs[1].setCount(2);
for (int i = 0; i < objs.length; i++) {
// $B%$%s%?%U%'!<%9!&%a%=%C%I$NMxMQ(B
System.out.println(objs[i].getCount());
}
}
}
Copyright © 2001, 2003 SUGAI, Manabu. All Rights Reserved.
SEO
[PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送