天天看點

面向對象的學習心得

面向對象這一章節,就是比較抽象一點其實,其實你隻要仔細看看 你會發現這裡還是那麼的難 (狗頭保命),面向對象我認為男的地方就是經常搞不清楚自己現在所操作的對象是誰。

例如:

學生管理系統
// 定義數組的有效下标
	static int size = 8;
/**
	 * 利用工具類 來幫學生數組按照成績(年齡)排序
	 */
	public void sortStudent() {
		int i = size;
		new Tools().sortTools(students,i);
		System.out.println("排序完成 ------------");
	}

tool工具類
public class Tools {
	public void sortTools(Student[] students , int size) {
		for (int i = 0; i < size-1; i++) {
			/*
			 * 将Student類轉換成StudentSort類 然後調用接口中的方法 如果傳回值為True則位置不變 否則交換位置
			 */
			//選擇排序
			int index = -1;
			for (int j = i; j <  size-1; j++) {
				StudentSort s = (StudentSort) students[i];
				if (!s.sort(students[j + 1])) {
					index = j+1;
				}
				if(index != -1) {
					Student temp = students[i];
					students[i] = students[index];
					students[index] = temp;
				}
			}

		}

	}
}
           

當初我就是沒仔細想 一開始沒有把有效下标傳過去 就隻是浏覽整個數組的長度所有 一直再報空指針異常。

或者是:

這樣一堆.set.get你要一直清楚自己在操作什麼,不能把自己慢慢給繞進去 如果邏輯繞不過來就會很難。

總之面向對象這裡還是需要多練習 就算不懂也沒關系 你就多敲幾遍然後多讀讀 你就會發現自己慢慢越來越通透

學習java 的十字箴言:敲一遍,敲一遍,在敲一遍