1+...+N - 使用三段繼承
// addtoN.java
public class addtoN
{
public static void main( String[] args )
{
MyAddContinue obj1 = new MyAddContinue();
System.out.println( obj1.addContinue(1,100) ) ;
}
}
// 數字類別
class MyNumber
{
private int Num1; //變數1
private int Num2; //變數2
public void setNum1( int Num1 ){
this.Num1 = Num1;
}
public int getNum1(){
return this.Num1 ;
}
public void setNum2( int Num2 ){
this.Num2 = Num2;
}
public int getNum2(){
return this.Num2 ;
}
}
// 加法類別 , 繼承自數字類別
class MyAdd extends MyNumber
{
// 相加兩者
public int addBoth( int a, int b ){
setNum1( a ) ;
setNum2( b ) ;
return getNum1() + getNum2() ;
}
}
// 連加類別 , 繼承自加法類別
class MyAddContinue extends MyAdd
{
public int addContinue( int nStart, int nEnd, int nStep ){
int sum = 0 ;
for(int i = nStart; i <= nEnd; i += nStep ){
sum = this.addBoth( sum, i ) ;
}
return sum ;
}
public int addContinue( int nStart, int nEnd ){
int sum = 0 ;
for(int i = nStart; i <= nEnd; i++ ){
sum = this.addBoth( sum, i ) ;
}
return sum ;
}
}