2015年11月10日 星期二

程式概念隨手筆記

資料抽象化
-從物件中排除細節,抽取共適的屬性及運作
封裝(資訊隱藏)
-即資訊隱藏的概念,將外界無須知道的屬性跟運作隱藏起來,避免不必要錯誤或不合理的運作產生
降低ripple-effect漣波效應
提高使用者易用性
增加程式的可維護性
繼承
子類別可以繼承父類別的屬性及運作,同時也可加入子類別自訂的屬性及運作
多型
意指相同的訊息給予不同的物件會引發不同的動作稱之

就程式而言:
利用父類別型態
接收子類別物件
做相同的動作
引發不同的行為
同名異式

較有彈性但速度較慢





垃圾回收機制
垃圾回收器有兩個基本的原理:

  1. 考慮某個物件在未來的程式執行中,將不會被存取。
  2. 向這些物件要求歸回記憶體。



費氏數列程式
int fib(int i)
{
if (i==0) return 0;
if (i==1) return 1;
return fib(i-1)+fib(i-2);
}

遞迴
int sum(int n)
{
if (n==0) return 0;
return sum(n)+sum(n-1);
}

九九乘法
for(int i=1; i<=9;i++)
{
     for(int j=1; j<=9; j++)
     {
          System.out.print(i*J)
     }
}

BubSort(int A[], int n)  //氣泡排序法之副程式
  {
    int i, j , k,t=1, Temp,sp;
    for (i=n-1; i>0; i--)
       {
        sp=1;
       for (j =0; j <=i; j++)
          if (A[j] > A[j+1])
             {  //兩數交換位置
               Temp = A[j];
               A[j] = A[j+1];
               A[j+1] = Temp;
               sp=0;
             }
             if (sp==1) break;
       }

  }