物件導向程式設計

 

 

第五章、Java物件導向程式設計

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/java

E-mail : pierre@isu.edu.tw   

 


 


本章練習:

1. 設計一個具有完整代數運算的complexNumber物件類別,它具有複數座標的real, ima和極座標的rad, theta等四個成員變數,其轉換規則為

      (real, ima) = rad[ cos(theta) + i sin(theta)]

另外設計加、減、乘、除和conjugate, power等六個成員函式,其中

     multiplication : (a, b)-(c,d) = (ac-bd, ad-bc)

     division          : (a, b)/(c, d) = (ac +bd, ad+bc)/(c2+d2)

     nth power       : {r[cos(theta)+i sin(theta)]}n = rn[rcos(n*theta)+i sin(n.theta)]

提示:參考下列程式

// complexNumber.java

import java.io.*;

public class complexNumber
{
        float real;
        float ima;
        complexNumber(float r, float i)
        {
                real=r;
                ima=i;
        }
        public void print()
        {
                System.out.print(real+"+"+ima+"i"+"\n");
        }
        public complexNumber add(complexNumber c1)
        {
                real=real+c1.real;
                ima=ima+c1.ima;
                return this;
        }       
}

// ex1.java for testing

public class ex1
{
        public static void main(String args[])
        {
                complexNumber t1=new complexNumber(5,4);
                complexNumber t2=new complexNumber(5,4);
                complexNumber t3=new complexNumber(0,0);                
                t3=t1.add(t2);
                t3.print();
        }
}

2. 設計一個繪圖物件類別rectangle,具有五個成員變數:

    (orix, oriy) : rectangle的左上角座標

    width : rectangle的寬度

    height : rectangle的高度

    mark : 一個用來繪製rectangle(文字模式)的字元

另外設計4個成員函式:

    prints() : 將rectangle以純文字模式繪製在視窗

    translation( int dx, int dy) : 平移rectangle

    scaling(float s) : 以s的比率縮放rectangle

    setMark(char m) : 設定rectangle繪製時所用的mark

ps. 除了上述,你可以自行加入其他的成員變數或函式


 

物件導向程式設計

義守大學電機系 陳慶瀚

2001.11.06