久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java面向對象的學習心得

時間:2019-05-13 11:07:56下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《java面向對象的學習心得》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java面向對象的學習心得》。

第一篇:java面向對象的學習心得

Java面向對象的學習心得

大三的時候學校組織我們去蘇州NIIT參加四個月的java實訓,我開始系統的學習期java,之前大學的時候學的比較寬泛,沒有專門的正對java的學習。

首先我是從學習Java編程開始接觸OOP(面向對象編程),剛開始使用Java編寫程序的時候感覺很別扭,因為我早以習慣用C來編寫程序,很欣賞C的簡潔性和高效性,喜歡C簡練而表達能力豐富的風格,特別忍受不了Java運行起來慢吞吞的速度,相對冗長的代碼,而且一個很簡單的事情,要寫好多類,一個類調用一個類,心里的抵觸情緒很強。

我對Java的面向對象的特性琢磨良久,自認為有所領悟,也開始有意識的運用OOP風格來寫程序,然而還是經常會覺得不知道應該怎樣提煉類,面對一個具體的問題的時候,會覺得腦子里千頭萬緒的,不知道怎么下手,一不小心,又會回到原來的思路上去。

舉個例子,要發廣告郵件,廣告郵件列表存在數據庫里面。倘若用C來寫的話,一般會這樣思考,先把郵件內容讀入,然后連接數據庫,循環取郵件地址,調用本機的qmail的sendmail命令發送。

然后考慮用Java來實現,既然是OOP,就不能什么代碼都塞到main過程里面,于是就設計了三個類:

一個類是負責讀取數據庫,取郵件地址,調用qmail的sendmail命令發送; 一個類是讀郵件內容,MIME編碼成HTML格式的,再加上郵件頭;

一個主類負責從命令讀參數,處理命令行參數,調用發email的類。

把一件工作按照功能劃分為3個模塊分別處理,每個類完成一件模塊任務。

仔細的分析一下,就會發現這樣的設計完全是從程序員實現程序功能的角度來設計的,或者說,設計類的時候,是自低向上的,從機器的角度到現實世界的角度來分析問題的。因此在設計的時候,就已經把程序編程實現的細節都考慮進去了,企圖從底層實現程序這樣的出發點來達到滿足現實世界的軟件需求的目標。

這樣的分析方法其實是不適用于Java這樣面向對象的編程語言,因為,如果改用C語言,封裝兩個C函數,都會比Java實現起來輕松的多,邏輯上也清楚的多。

我覺得面向對象的精髓在于考慮問題的思路是從現實世界的人類思維習慣出發的,只要領會了這一點,就領會了面向對象的思維方法。

舉一個非常簡單的例子:假使現在需要寫一個網頁計數器,客戶訪問一次頁面,網頁計數器加1,計數器是這樣來訪問的后臺有一個數據庫表,保存每個id(一個id對應一個被統計訪問次數的頁面)的計數器當前值,請求頁面一次,對應id的計數器的字段加1(這里我們忽略并發更新數據庫

表,出現的表鎖定的問題)。

如果按照一般從程序實現的角度來分析,我們會這樣考慮:首先是從HTTP GET請求取到id,然后按照id查數據庫表,獲得某id對應的訪問計數值,然后加1,更新數據庫,最后向頁面顯示訪問計數。

現在假設一個沒有程序設計經驗的人,他會怎樣來思考這個問題的呢?他會提出什么樣的需求呢?他很可能會這樣想:

我需要有一個計數器,這個計數器應該有這樣的功能,刷新一次頁面,訪問量就會加1,另外最好還有一個計數器清0的功能,當然計數器如果有一個可以設為任意值的功能的話,我就可以作弊了。

做為一個沒有程序設計經驗的人來說,他完全不會想到對數據庫應該如何操作,對于HTTP變量該如何傳遞,他考慮問題的角度就是我有什么需求,我的業務邏輯是什么,軟件應該有什么功能。

按照這樣的思路(請注意,他的思路其實就是我們平時在生活中習慣的思維方式),我們知道需要有一個計數器類 Counter,有一個必須的和兩個可選的方法:

getCount()// 取計數器值方法

resetCounter()// 計數器清0方法

setCount()// 設計數器為相應的值方法

把Counter類完整的定義如下:

public class Counter {

public int getCount(int id){}

public void resetCounter(int id){}

public void setCount(int id, int currentCount){}

}

解決問題的框架已經有了,來看一下如何使用Counter。在count.cgi里面調用Counter來計數,程序片斷如下:

// 這里從HTTP環境里面取id值

...Counter myCounter = new Counter();// 獲得計數器

int currentCount = myCounter.getCount(id);// 從計數器中取計數

// 這里向客戶瀏覽器輸出

...程序的框架全都寫好了,剩下的就是實現Counter類方法里面具體的代碼了,此時才去考慮具體的程序語言實現的細節,比如,在getCount()方法里面訪問數據庫,更新計數

值。

從上面的例子中看到,面向對象的思維方法其實就是我們在現實生活中習慣的思維方式,是從人類考慮問題的角度出發,把人類解決問題的思維方式逐步翻譯成程序能夠理解的思維方式的過程,在這個翻譯的過程中,軟件也就逐步被設計好了。

在運用面向對象的思維方法進行軟件設計的過程中,最容易犯的錯誤就是開始分析的時候,就想到了程序代碼實現的細節,因此封裝的類完全是基于程序實現邏輯,而不是基于解決問題的業務邏輯。

學習JDBC編程的經典錯誤問法是:“我怎樣封裝對數據庫的select操作?”

面向對象的設計是基于解決業務問題的設計,而不是基于具體編程技術的設計。我不會去封裝select語句的,我只封裝解決問題的業務邏輯,對數據庫的讀取是在業務邏輯的編碼實現階段才去考慮的問題。

回過頭看上面那個發廣告郵件的例子,應該如何應用面向對象的思維方法呢?

對于一個郵件來說,有郵件頭,郵件體,和郵件地址這三個屬性,發送郵件,需要一個發送的方法,另外還需要一個能把所有郵件地址列出來的方法。所以應該如下設計:

類JunkMail

屬性:

head

body

address

方法:

sendMail()// 發送郵件

listAllMail()// 列郵件地址

用Java來表示:

public class JunkMail {

private String head;

private String body;

private String address;

public JunkMain(){ // 默認的類構造器

// 從外部配置文件讀郵件頭和郵件體

this.head=...;

this.body=...;

}

public static boolean sendMail(String address){

// 調用qmail,發送email

}

public static Collection listAllMail(){

// 訪問數據庫,返回一個郵件地址集合}

}

當把JunkMail設計好了以后,再調用JunkMail類完成郵件的發送,將是非常輕松的事情。

如果說傳統的面向過程的編程是符合機器運行指令的流程的話,那么面向對象的思維方法就是符合現實生活中人類解決問題的思維過程。

在面向對象的軟件分析和設計的時候,要提醒自己,不要一上來就去想程序代碼的實現,應該拋開具體編程語言的束縛,集中精力分析我們要實現的軟件的業務邏輯,分析軟件的業務流程,思考應該如何去描述和實現軟件的業務。畢竟軟件只是一個載體,業務才是我們真正要實現的目標。

但是在設計過程中,心里卻往往在擔心,如果我完全不去考慮程序代碼的實現的話,那么我怎么知道我的設計一定合理呢?我怎么知道我設計的類、接口一定可以實現呢?所以經常可以看到的現象就是:

在設計過程中,雖然知道不能過早考慮代碼實現,但是每設計一個類,一個接口,心里都要不知不覺的用自己熟悉的編程語言大概的評估一下,看看能否編出來,因此,一不小心,就會又回到按照程序功能實現的思路進行設計的老路上去了。

舉個例子來說明,在做Web程序設計的時候,經常要遇到分頁顯示數據的情況。比如說需要把系統中所有的用戶都列出來這樣的功能。假設使用User類來表示用戶,增加用戶addUser(),刪除用戶deleteUser(),查詢所有用戶listUsers()方法。而數據庫中有一個user表,一條記錄是一個用戶的信息。下面考慮一下User類的方法的實現:

addUser()和deleteUser()方法都好實現,就是對數據庫增加記錄和刪除記錄。對于listUsers()方法,其實就是對user表的select,取出一個記錄集。但是該怎么從listUsers()方法中得到所有用戶的列表呢?

一個方法調用的返回值只有一個,沒有多個,所以很多情況下采用的辦法就是返回值定義為集合類型,比如Vector。這樣就可以在listUsers()方法的具體代碼實現的時候,從數據庫依次取出一個個記錄,插入到Vector里面來。在主程序里面,調用listUsers()方法可以返回一個Vector,然后再對Vector遍歷操作,就可以得到用戶列表了。

public class User {

public static void addUser(...){

// 數據庫insert一條記錄

}

public static void deleteUser(...){

// 數據庫delete一條記錄

}

public Vector listUsers(...){

// 數據庫select結果放到一個集合里面

}

}

這樣的設計基本合理,但是仍然有點小問題。因為在設計的時候,就考慮到了用Java的集合類Vector來實現對不定長數據集的存放,因而違反了面向對象設計的一個原則:在設計的時候不應過早的考慮具體程序語言的實現。所以必須用抽象的方法,和具體實現無關的方法來表達業務邏輯。

我們知道,通常對具有集合特征的數據結構進行遍歷通??梢允褂胣ext和hasNext方法,next實現取下一個用戶,hasNext判斷是否還有元素。因此我們定義一個接口Iterator,這個接口中定義兩個方法next和hasNext:

public interface Iterator {

public boolean hasNext(){}

public Object next(){}

}

而User類的listUses方法返回值改為Iterator接口的實現類:

public class User {

...public Iterator listUsers(){

}

...}

這樣就把User類的設計和具體的實現方法分離開了,因為此時任何實現了next()和hasNext()方法的類都可以做為listUsers的返回值,都可以被用來表達“用戶列表”,而不僅僅可以使用Vector而已。比如,我可以用ArrayList來表達用戶列表,因為ArrayList也實現了Iterator,當然我也可以自己專門寫一個類來存放用戶列表,只要實現next()和hasNext()方法就行了。

這樣在具體的編寫代碼的時候,程序員具有了最大的靈活性,可以根據具體的情況,采用不同的編程方法來存放用戶列表。特別是降低了程序的耦合度,提高了程序的可移植性。對于上面那個JunkMail的listAllMail()方法也同樣應該改為接口類型。

然后,在主程序里面就這樣來使用User類的listUsers方法:

User myUser = new User();

Iterator iterator = myUser.listUsers();

while(iterator.hasNext()){

iterator.next();

}

這樣就可以完全不用考慮程序代碼實現了,從高層次上把功能抽象出來,定義成為接口,同時又可以把系統設計的很合理,完全根據業務的需求來進行設計。

結語

通過上面的幾個例子的設計說明,使用面向對象的思維方法,其實是一個把業務邏輯從具體的編程技術當中抽象出來的過程,而這個抽象的過程是自上而下的,非常符合人類的思維習慣,也就是先不考慮問題解決的細節,把問題的最主要的方面抽象成為一個簡單的框架,集中精力思考如何解決主要矛盾,然后在解決問題的過程中,再把問題的細節分割成一個一個小問題,再專門去解決細節問題。

因而一旦牢牢的抓住了這一點,你就會發現在軟件設計和開發過程中,你自己總是會不知不覺的運用面向對象的思維方法來設計和編寫程序,并且程序的設計和開發也變得不再那么枯燥,而一個合理運用面向對象技術進行設計和架構的軟件,更是具備了思維的藝術美感。

最后,愿面向對象的思維方法也能給您的程序設計之路帶來創作的樂趣。

第二篇:學習心得《面向對象》

面向對象課程學習心得

這學期的面向對象課程對我來說是收獲匪淺的一門課。通過老師課件的講解,自己一些相關書籍的閱讀和實踐作業的完成,逐步對課程有了由淺及深的認識。

面向對象(Object Oriented,OO)是一門以實踐為主課程,課程中可以分開兩塊OOA(面向對象系統分析)和OOD(面向對象系統設計)。OOA(面向對象系統分析)主要內容: 研究問題域和用戶需求,運用面向對象的觀點和原則發現問題域中與系統責任有關的對象,以及對象的特征和相互關系.OOA不涉及針對具體實現采取的設計決策和有關細節,獨立于具體實現的系統模型。是一個完整確切反映問題域和用戶需求的系統模型。OOA的優勢:復用、可擴展、可維護性、彈性。

OOD(面向對象系統設計):以OOA模型為基礎,按照實現的要求進行設計決策,包括全局性的決策和局部細節的設計,與具體的實現條件相關。OOD的步驟:細化重組類→細化和實現類之間的關系,明確其可見性→增加屬性,指定屬性的類型和可見性→分配職責,定義執行每個職責的方法→對消息驅動的系統,明確消息傳遞的方式→利用設計模式進行局部設計→畫出詳細的類圖和時序圖。

面向對象的分析與設計方法將致力于解決傳統軟件研發過程中由于軟件模塊化結構化程度不高帶來的軟件重用性差、軟件可維護性差、開發出的軟件不能滿足用戶需要等方面問題。面向對象的概念包括:對象、對象的狀態和行為、類、類的結構、消息和方法。對象概念將包含對象唯一性、抽象性、繼承性、多態性的重要特征。面向對象的要素包含:抽象、封裝性、共享性三方面。

在設計模式的研究過程中,我們組選擇的是迭代器(Iterator)的設計模式研究。完成設計研究后,我對迭代器的設計模式有了更為深刻的理解。迭代器(Iterator)提供一個方法順序訪問一個聚合對象的各個元素,而又不暴露該對象的內部表示。并了解到迭代器設計模式一般在以下三類場合使用較多。

? 訪問一個聚合對象的內容而無需暴露它的內部表示。? 支持對聚合對象的多種遍歷。因為遍歷狀態是保存在每一個迭代器對象中的。

? 為遍歷不同的聚合結構提供一個統一的接口。根據實現方式的不同,效果上會有差別。同時還簡化了容器的接口。但是在java Collection中為了提高可擴展性,容器還是提供了遍歷的接口。在面向對象的軟件設計中,我們經常會遇到一類集合對象,這類集合對象的內部結構可能有著各種各樣的實現,但是歸結起來,無非有兩點是需要我們去關心的:一是集合內部的數據存儲結構,二是遍歷集合內部的數據。面向對象設計原則中有一條是類的單一職責原則,所以我們要盡可能的去分解這些職責,用不同的類去承擔不同的職責。Iterator模式就是分離了集合對象的遍歷行為,抽象出一個迭代器類來負責,這樣既可以做到不暴露集合的內部結構,又可讓外部代碼透明的訪問集合內部的數據。

在Java Collection的應用中,提供的具體迭代器角色是定義在容器角色中的內部類。這樣便保護了容器的封裝。但是同時容器也提供了遍歷算法接口,你可以擴展自己的迭代器。至于迭代器模式的使用??蛻舫绦蛞鹊玫骄唧w容器角色,然后再通過具體容器角色得到具體迭代器角色。這樣便可以使用具體迭代器角色來遍歷容器了。

OOA和OOD之間沒有明顯的界限。OOA與OOD的不可分割性正好說明了OO思想的強大,即軟件過程階段的無縫連接,在交流與溝通中不會產生鴻溝,這是相對結構化思想的好處,因為從功能模塊到某塊詳細控制邏輯設計兩者之間的聯系不是十分緊密,需要分析人員與設計人員的再溝通。

通過課程的學習與實踐,對面向對象的理念,以及相關方法,設計模式有了更為深刻的理解與掌握。針對面向對象的分析與設計課程的授課內容及方法,我個人覺得對我還是有不少的幫助和 提高。結合自己的工作,雖然與開發接觸的比較少,但是在運維過程中,如果能了解開發原理,結合實際的工作,會對一些源代碼的分析能力以及工作效率的提高起到明顯的幫助作用。

第三篇:java面向對象程序設計教案

武漢大學珞珈學院 系/教研室 Java 面 向 對 象 程 序 設 計 課 教 案

主講教師:熊春秀 編寫時間:2011-4-30

第一章:概述

第 1、2 節:面向對象的基本概念、面向對象程序設計概述 授課時間:2011-2-

22、23

計劃學時數:1 教學任務與目的:讓學生理解面向對象的基本概念 教學重點:掌握面向對象的基本概念 教學難點:理解面向對象程序設計的方法 教學方法:多媒體+板書 參考書目:《面向對象程序設計導論》,[美]C.Thomas wu著,電子工業出版社 專業詞匯:Java虛擬機、Applet程序 備注

第二章:Java特點及運行環境

第 1、2、3 節:Java語言特點、Java應用程序及運行環境、Java Applet程序及運行環境 授課時間:2011-2-

22、23

計劃學時數:3 教學任務與目的:讓學生學會JDK的下載、安裝與環境配置。教學重點:掌握編譯和執行Java程序的基本步驟

教學難點:理解Java程序的入口并能夠通過命令行傳遞參數 教學方法:多媒體+板書 參考書目:《面向對象程序設計導論》,[美]C.Thomas wu著,電子工業出版社 專業詞匯:JDK、lib、bin 備注 第三章:Java語言基礎

第 1、2 節:Java程序的構成、數據類型、表達式以及流程控制語句 授課時間:2011-3-

1、2

計劃學時數:3 教學任務與目的:讓學生學會Java基本的數據類型和表示方法、數值類型的運算、邏輯運算和比較、條件執行語句(包括三種條件語句和switch語句)、循環控制語句(包括for、while、do while循環及相應的輔助語句)、字符串類String和BufferString以及數組的聲明及使用。

教學重點:掌握Java基本的數據類型和表示方法

教學難點:理解Java程序的循環控制語句(包括for、while、do while循環及相應的輔助語句)

教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社 專業詞匯:變量、數據類型、循環控制語句 備注 第三章:Java語言基礎 第 3 節:Java與C比較

授課時間:2011-3-

8、9

計劃學時數:3 教學任務與目的:讓學生在C語言的基本上進一步學習Java語言。教學重點:掌握Java語言與C語言的區別與聯系。教學難點:理解Java語言在C語言上的改進。教學方法:多媒體+板書 參考書目:《Java2參考大全(第四版)》,[美]Herbert Schildt著,張玉清、吳浦峰、尚勇等譯,清華大學出版社。專業詞匯:Java、C 備注 第四章:抽象、封裝與類

第 1 節:抽象、封裝與Java類的概念

授課時間:2011-3-

15、16

計劃學時數:3 教學任務與目的:讓學生學會面向對象的基本特征、掌握如何定義一個類以及如何生成對象、深入掌握方法的定義及技巧、深入掌握類的訪問權限與封裝機制、深入掌握包的定義與包的使用方法。

教學重點:掌握類的定義與對象的生成。教學難點:理解類的抽象與封裝機制。教學方法:多媒體+板書 參考書目:《Java2 實用教程》,耿祥義、張躍平編著,清華大學出版社。專業詞匯:抽象、封裝、類 備注 第四章:抽象、封裝與類 第 2 節:系統定義的類

授課時間:2011-3-

22、23

計劃學時數:3 教學任務與目的:讓學生學會使用系統定義的類,并掌握與用戶自定義類的區別。教學重點:掌握如何定義所需要的類。

教學難點:熟悉Java平臺定義了哪些經常要用到、而且滿足我們需要的類。教學方法:多媒體+板書 參考書目:《Java2 實用教程》,耿祥義、張躍平編著,清華大學出版社。專業詞匯:系統定義的類、用戶自定義類 備注 第四章:抽象、封裝與類

第 3 節:類、域和方法的修飾符

授課時間:2011-3-

29、30

計劃學時數:3 教學任務與目的:讓學生學會類的聲明。

教學重點:掌握如何定義類的修飾和方法的修飾符。教學難點:熟悉類的變量的定義與使用方法。教學方法:多媒體+板書 參考書目:《Java2 實用教程》,耿祥義、張躍平編著,清華大學出版社。專業詞匯:成員變量、類變量、成員方法、類方法 備注 第五章:繼承與多態

第 1、2 節:Java的繼承與派生、域的繼承與隱藏 授課時間:2011-4-

5、6

計劃學時數:3 教學任務與目的:讓學生全面掌握面向對象的基本特征、掌握如何使用繼承性來到達軟件的重用、深入掌握繼承過程中域的隱藏和方法的覆蓋技巧。教學重點:掌握如何使用繼承性來到達軟件的重用。教學難點:熟悉繼承過程中域的隱藏和方法的覆蓋技巧。教學方法:多媒體+板書 參考書目:《Java2 實用教程》,耿祥義、張躍平編著,清華大學出版社。專業詞匯:繼承派生、域、隱藏 備注 第五章:繼承與多態

第 3、4 節:方法的繼承、重載與覆蓋、this與super、構造函數的繼承與重載 授課時間:2011-4-

12、13

計劃學時數:3 教學任務與目的:讓學生通過繼承可以更有效地組織程序結構,明確類之間的關系,并充分利用已有的類來創建新類,通過繼承可以實現代碼的重用,以完成更復雜的設計、開發。教學重點:掌握類的重載與覆蓋的區別與聯系。教學難點:熟悉類的重載與覆蓋使用方法。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:繼承、重載、覆蓋、this、super 備注 第五章:繼承與多態

第 5、6 節:多態性的實現、接口聲明與實現 授課時間:2011-4-

19、20

計劃學時數:3 教學任務與目的:讓學生深入掌握抽象類和抽象方法的定義,掌握多態通過統一多個相關類的對外接口,在運行時根據不同的情況執行不同的操作,提高類的抽象度和靈活性,深入掌握接口的定義和使用技巧。

教學重點:熟悉多態性實現的兩種方式以及接口的實現。教學難點:熟悉多態性與接口的實現方法。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:多態性、接口 備注 第六章:工具類與算法

第 1、2 節:語言基礎類庫、Applet類與小程序的基本原理 授課時間:2011-4-

26、27

計劃學時數:3 教學任務與目的:深入了解Applet生命周期的主要方法和特點、熟練掌握Applet程序的編寫方法、深入了解Applet的安全機制及其合理運用。教學重點:熟練掌握Applet程序的編寫方法。

教學難點:深入了解Applet的安全機制及其合理運用。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:Applet、生命周期 備注 第六章:工具類與算法

第 3、4 節:數組、字符串、常用算法

授課時間:2011-5-

3、4

計劃學時數:3 教學任務與目的:讓學生學會字符串類String和BufferString、數組的聲明及使用。教學重點:熟練掌握字符串與數組的使用方法。教學難點:深入了解數組的使用方法。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:數組、字符串 備注 第七章:用戶圖形界面的設計

第 1、2 節:用戶自定義成分、事件驅動設計 授課時間:2011-5-

10、11

計劃學時數:3 教學任務與目的:讓學生學會使用面向對象的程序設計方法構建圖形用戶界面、深入了解抽象窗口工具包(AWT)、掌握事件處理基本原理和方法。教學重點:熟練掌握圖形用戶界面的開發方法。教學難點:深入了解圖形界面的各種事件。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:AWT、GUI 備注 第七章:用戶圖形界面的設計

第 3、4 節:GUI對象,包括:按鈕、文本框、鼠標、鍵盤等事件的處理、布局設計 授課時間:2011-5-

17、18

計劃學時數:3 教學任務與目的:讓學生深入了解GUI構件及掌握布局控制方法、熟練掌握菜單和對話框、掌握簡單繪圖方法。

教學重點:熟練使用Java語言提供的布局管理器來管理組件在容器中的布局。教學難點:深入了解組件在程序中安排中位置和大小使用方法。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:布局管理器、容器 備注 第八章:Java高級編程

第 1、2、3節:異常處理、多線程機制、Java程序對網上資源的訪問 授課時間:2011-5-

24、25

計劃學時數:3 教學任務與目的:讓學生深入理解多線程的基本概念、熟練掌握創建線程的兩種基本方法、熟練處理線程的同步問題和死鎖問題、深入理解異常的基本概念、熟悉和掌握Java平臺定義異常類、熟練掌握創建自定義異常類的方法。教學重點:熟練掌握創建線程的兩種基本方法。教學難點:深入了解線程的同步問題和死鎖問題。教學方法:多媒體+板書 參考書目:《Java語言與面向對象程序設計》,印旻編著,清華大學出版社。專業詞匯:同步、死鎖、多線程、異常

第四篇:Java面向對象程序設計教學大綱

Java面向對象程序設計課程教學大綱

Object-Oriented Programming with Java Syllabus

課程名稱 課程類別 建設單位/教研室 前后課程 適用專業、層次 Java面向對象程序設課程英文名Object-Oriented Programming with Java 計 稱 專業必修課 學分/學時 4.0/42+42 計算機系/軟件工程教研室 考核方式 考試 C語言程序設計

軟件工程、計算機科學與技術、網絡工程

Upon completion of this course, students should master the basic knowledge of Java language, understand and grasp the basic object-oriented programming design ideas and skillfully use Java language to write, compile and debug programs.These would lay a good foundation for students on independently finish the work of program development with Java in the future.教學目的

The emphasis: 1.The origin of Java, Why should we learn Java language, Java cross-platform principle analysis(JVM)and Java Environment variable configuration.2.Data and Expressions: including Character Strings, Variables and Assignment, Primitive Data Types, Expressions, Data Conversion, Interactive Programs.3.Oriented object programming ideas: including Class, Object, Variables, Methods, Encapsulation, Inheritance, Polymorphism, Interface and so on.4.Java statements: including conditionals and loops statements.5.Arrays: Declaring and using one-dimensional arrays and two-dimensional arrays.6.Exceptions: including exception handling, uncaught exceptions, and try-catch statement and so on.7.GUI: including event handling and graphics user interface.The difficulty:

Object-oriented concept and idea, establishing application model and algorithm of description, the algorithm optimization of program and so on.教材和主要參考資料: Text and references Text :

John Lewis “Java程序設計教程(第六版)英文版” 電子工業出版社 ISBN-978-7-121-08808-7 References:

1.《Java編程思想(英文版 第3版)》,(美)Bruce Eckel編,機械工業出版社出版社; 2.Java程序設計基礎》,(美)Gary J.Bronson編, 趙德奎 林仕平譯,北京大學出版社。

3.Cay S.Horstmann, Gary Cornell.Java 2核心技術 卷I:基礎知識.機械工業出版社, 2001.4.Cay S.Horstmann, Gary Cornell.Java 2核心技術 卷II:高級特性.機械工業出版社, 2001.教學內容 學時 基本要求

按章、節具體列出

教學內容 Topic 具體列出教學的基本要求,如了解、理解、掌握及應用等。

By the end of chapter ,students should understand Chapter 1 Introduction

Chapter 2 Data and ExpressionsChapter 3 Using Classes and Objects Chapter 4 Writing Classes 3+3 To be able to have a fundamental understanding of software role in a computer system.? To know components of a computer ? To understand how those components interact ? To grasp how computers store and manipulate information ? To know how computers are connected into networks to share information.? To profile programming and programming languages ? To profile an introduction to Java ? To grasp object-oriented concepts 3+6 Explore some of the basic types of data used in a Java program and the use of expressions to perform calculations.? To understand character strings, concatenation, and escape sequences.? To grasp the declaration and use of variables.? To be familiar with Java primitive data types.? To understand expressions and operator precedence.? To grasp the syntax and processing of expressions.? To understand the types of data conversions and the mechanisms for

accomplishing them.? To know how to create interactive programs.? To understand the basic graphic concepts and the techniques for drawing

shapes.? To know the concept of a Java applet.4+4 Use the predefined classes in the Java class library that are provided to us to make the process of writing programs easier.? To grasp the creation of objects and the use of object reference variables.? To be familiar with the services provided by the String class.? To know how the java standard class library is organized into packages.? To be familiar with the services provided by the Random and Math class.? To grasp ways to format output using the NumberFormat and DecimalFormat

classes.? To be familiar with enumerated types.? To understand wrapper classes and the concept of autoboxing.? To understand components and containers used in graphics user interfaces.? To know a label component and the use of images.6+6 We've been using predefined classes.Now we will learn to write our own classes to define objects.? To grasp the structure and content of a class definition.? To understand the concept of object state using instance data.? To know the effect of visibility modifiers on methods and data.? To grasp the structure of a method definition, including parameters and return

values.? To grasp the structure and purpose of a constructor.? To grasp the creation of graphical objects.? To understand the concepts needed to create an interactive graphical user

interface.Chapter 5 Conditionals and Loops

Chapter 6 OBJECT-ORIENTED DESIGN

Chapter 7 Arrays

Chapter 8 Inheritance ? To know some basic GUI components and events.4+4 Now we will examine programming statements that allow us to make decisions and repeat processing steps in a loop.? To know the flow of control through a method.? To understand Boolean expressions that can be used to make decisions.? To grasp to perform basic decision making using if and switch statements.? To understand issues pertaining to the comparison of certain types of data.? To grasp familiarly to execute statements repetitively using while, do, and for

loops.? To understand the concept of an iterator object and use one to read a text file.? To know how to draw with the aid of conditionals and loops.? To know more GUI components and events.4+4 Now we can extend our discussion of the design of classes and objects ? To know key issues related to the design of object-oriented software.? To techniques for identifying the classes and objects needed in a program.? To understand the relationships among classes.? To understand the effect on the static modifier on methods and data.? To grasp the creation of a formal object interface.? Further grasp the definition of enumerated type classes.? To grasp issues related to the design of methods, including method

overloading.? To know issues related to the design of graphics user interface, including

layout managers.6+3 Arrays are objects that help us organize large amounts of information ? Define and use arrays for basic data organization.? To know bounds checking and techniques for managing capacity.? To learn to compare the issues related to arrays as objects and arrays of

objects.? To grasp the use of command-line arguments.? To grasp the syntax and use of variable-length parameter lists.? To be familiar with the creation and use of multidimensional arrays.? To be familiar with the ArrayList class and its generic parameter.? To know more mouse and keyboard events.6+6 Inheritance is a fundamental object-oriented design technique used to create and organize reusable classes.? To know the derivation of new classes from existing ones.? To understand the concept and purpose of method overriding.? To grasp the design of class hierarchies.? To grasp the issue of visibility as it relates to inheritance.? To have the ability to derive on interface from another.? To grasp object-oriented design in the context of inheritance.? To know the inheritance structure for GUI components.? To explore the creation of listeners by extending adaptor classes.Chapter 9 Polymorphism 3+3 Chapter 10 Exceptions 3+3 有關說明:

擬稿(簽名):謝彥麒 Polymorphism is an object-oriented concept that allows us to create versatile software designs ? To understand polymorphism and explore its benefits.? To understand the concept of dynamic binding.? To grasp to use inheritance relationships to create polymorphic references.? To grasp to use interfaces to create polymorphic references.? To grasp sorting and searching using polymorphic implementations.? To be familiar with object-oriented design in the context of polymorphism.? To know the processing of events as an example of polymorphism.? To know more GUI components.Exception handling is an important aspect of object-oriented design ? To know the purpose of exceptions.? To know exception messages and the call stack trace.?

To be familiar with the usage of the try-catch statement for handling exception.? To understand the concept of exception propagation.?

To be familiar with the exception class hierarchy in the Java standard class library.? To be familiar with I/O exception and the ability to write text files.? To know how to create GUI using mnemonics and tool tips.?

To know additional GUI components and containers.核稿(簽名): 審批(簽名): 年 月 日

第五篇:JAVA面向對象程序設計教學大綱

《JAVA面向對象程序設計》課程教學大綱

Oriented object Programming in JAVA 編號: 08065121

適用專業:計算機科學與技術、網絡工程 學時數:32 學分數:2 執筆者:田小玲 編寫日期:2009年11月

一、課程的性質和目的

本課程是為計算機科學與技術以及網絡工程專業本科生開設的專業選修課,是一門面向對象的編程語言,通過本課程的學習,培養和提高學生面向對象程序設計的能力和Java語言在web開發中的應用能力。

二、課程教學內容

第一章 面向對象軟件開發概述(2學時)1.內容

面向對象問題求解的提出、面向對象問題求解的概述、對象、類與實體、對象的屬性與相互關系、面向對象的軟件開發過程、面向對象程序設計方法的優點、開發環境設置及開發工具簡介。

2.要求

(1)了解:面向對象軟件開發概述,面向對象的軟件開發過程及面向對象程序設計 方法的優點。

(2)掌握:對象的屬性與相互關系,對象、類與實體的基本概念。(3)熟練掌握:開發環境設置及開發工具簡介(補充)。3.重點

對象、類與實體的基本概念。

4.難點

面向對象程序設計方法的理解。第二章 Java概述(2學時)1.內容

Java語言的特點、Java虛擬機及垃圾回收機制、JDK目錄結構、Java 的API結構及Java程序結構、第一個Java Application程序、第一個Java Applet程序、圖形界面的輸入輸出、字符界面的輸入輸出。

2.要求

(1)了解:Java語言的發展歷史及特點,Java Application程序及Java Applet程 序,圖形界面的輸入輸出,字符界面的輸入輸出。

(2)掌握:Java語言實現機制(補充),Java體系結構(補充)。(3)熟練掌握:Java Application程序的結構。3.重點

Java Application程序的結構。

4.難點

Java語言實現機制。

第三章 Java語言基礎(2學時)1.內容

數據類型、變量與常量、表達式、流程控制語句。2.要求

(1)了解:java語言的發展。

(2)掌握:數據類型、變量與常量的定義及使用。(3)熟練掌握:表達式的使用,流程控制語句。3.重點

表達式的使用,流程控制語句。

4.難點

流程控制語句的運用。

第四章 抽象、封裝與類(6學時)

1.內容

抽象與封裝、Java的類、類的修飾符、域、方法、訪問控制符。2.要求

(1)了解:抽象、封裝概念,系統定義的類。

(2)掌握:類的修飾符(abstract和final),域(包括靜態域、靜態初始化器、最終域和易失域),方法(包括抽象方法、靜態方法、最終方法)。

(3)熟練掌握:用戶程序自定義類及創建對象與定義構造函數,訪問控制符(包括public、缺省訪問控制符、private、protected)的運用。

3.重點

自定義類、創建對象與定義構造函數。

4.難點

四種訪問控制符的運用。第五章 繼承與多態(4學時)1.內容

Java的繼承、多態、Java的重載、構造函數的繼承與重載、包及接口的概念。2.要求

(1)了解:繼承及多態的概念,Java接口的概念。(2)掌握:Java的方法重載,包的創建及引用。(3)熟練掌握:構造函數的繼承與重載。

3.重點

方法的重載、類的繼承。4.難點

屬性的隱藏、方法的覆蓋。第六章 工具類與算法(2學時)

1.內容

語言基礎類庫(包括Object類、數據類型類、Math類及System類)、Applet類與Applet小程序、數組。

2.要求

(1)了解:Applet類與Applet小程序。(2)掌握:Java語言基礎類庫。(3)熟練掌握:數組的聲明及初始化。3.重點

數組的聲明及初始化、數組的應用。4.難點

編寫Applet小程序。

第七章 圖形用戶界面的設計與實現(8學時)

1.內容

圖形用戶界面概述、GUI標準組件概述及布局設計、Java的事件處理機制。2.要求

(1)了解:圖形界面組件之間的層次關系、容器的概念和作用。(2)掌握:圖形用戶界面程序的基本結構。(3)熟練掌握:事件監聽機制。3.重點

圖形用戶界面程序的基本結構。4.難點

Java的事件處理機制。

第八章 Java高級編程(6學時)

1.內容

異常處理、Java多線程機制、Swing GUI 組件、流式輸入輸出與文件處理、用Java實現底層網絡通信、Java程序對網上資源的訪問。

2.要求

(1)了解:例外的概念、Java中線程的基本概念、Java的線程類與Runnable接口及如何在程序中實現多線程、Java輸入輸出類庫及文件的處理與隨機訪問、使用Java實現底層網絡通信、Java程序對網上資源的訪問。

3(2)掌握:例外處理機制。

(3)熟練掌握:Swing GUI組件的運用。3.重點

例外處理機制、Swing GUI組件的創建。

4.難點

自定義異常類。

三、課程教學的基本要求

課程教學的基本要求包含三項:上機環節、作業要求、考試方式。1.上機環節

根據課堂講授的理論,并結合上機操作讓學生及時掌握每章節所學的知識,通過實操可加深學生對面向對象程序設計的思想及Java程序設計的領會。

2.作業要求

(1)作業要求:獨立思考完成、書寫工整、按時交(2)作業量:每次課均布置作業,作業量約2~3題(3)總作業量:約30~40道題 3.考試方式

(1)考試方式:閉卷筆試(2)評定成績要求:

總成績=平時成績×30%+考試成績×70%

四、本課程與其它課程的聯系與分工

1.前期課程:

程序設計基礎、計算機網絡、C語言程序設計、C++程序設計 2.后續課程:

軟件工程、Web應用程序開發

五、建議教材與教學參考書

[1] 印旻.《Java語言與面向對象程序設計》,清華大學出版社 [2] 於東軍,楊靜宇.《Java程序設計與應用開發》,清華大學出版社 [3] 辛運幃.《Java程序設計》,清華大學出版社 [4] 姜剛.《Java語言程序設計》,人民郵電出版社 [5] 閻菲.《Java程序設計教程》,中國水利水電出版社

下載java面向對象的學習心得word格式文檔
下載java面向對象的學習心得.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    C#面向對象學習心得

    一、封裝這是一種隱藏信息的特性。拿本節引例來說,類CalculateDate 將數據結構與算法隱藏在類的內部,外界使用者無需知道具體技術實現細節即可使用此類。封裝這一特性不僅大大......

    java面向對象程序設計 書中例子

    Java面向對象程序設計 第1章 Java 語言綜述 例1-1 一個加法器 //Add.java public class Add { public static void main(String args) { int a,b,c; a=5; b=7; c=a+b;......

    Java面向對象編程習題總結大全

    第一章面向對象開發方法概述 1. 面向對象的軟件開發有哪些優點? 1)把軟件系統看成是各種對象的集合,這更接近人類的自然思維方式。 2)軟件需求的變動性往往是功能的變動,而功......

    Java面向對象重要概念小結

    http://www.tmdps.cn (implements)其他接口。例如: interface MyInterfc extends Runnable{ public void mthd(); abstract int mthd2(); } Duncan Network | 編程......

    使用java實現面向對象編程總結

    第一章:抽象和封裝 1,為什么使用面向對象 1.1:萬事萬物皆對象,面向對象就是采用“現實模擬”的方法設計和開發程序。 2,使用面向對象進行設計 2.1:面向對象設計三部曲 1,發現類。 2......

    Java面向對象程序設計語言課程設計指導書(精選5篇)

    山東建筑大學商學院電子商務專業 《Java面向對象程序設計語言》課程設計(實驗)指導書 一、對學生的基本要求: 1、理論聯系實際、嚴肅認真、實事求是的科學態度和勇于探索的創......

    Java面向對象程序設計課后答案(精選5篇)

    Java面向對象程序設計課后答案 Java面向對象程序設計 清華大學出版社 (編著 耿祥義 張躍平)習題解答 建議使用文檔結構圖 (選擇Word菜單→視圖→文檔結構圖)習題1 1.James Go......

    Java 面向對象16種設計原則總結版(模版)

    Java 面向對象16種設計原則 一 類的設計原則 1 依賴倒置原則-Dependency Inversion Principle (DIP) 2 里氏替換原則-Liskov Substitution Principle (LSP) 3 接口分隔原則-In......

主站蜘蛛池模板: 亚洲中文字幕无码爆乳| 亚洲人成电影在线观看网色| 伊人精品一本久久综合| 国产偷抇久久精品a片69| h无码动漫在线观看| 国产欧美日本亚洲精品一5区| 国产偷国产偷高清精品| 亚州性无码不卡免费视频| 欧美乱强伦xxxxx高潮| 超薄丝袜足j好爽在线| 亚洲色欲色欲www在线丝| 潮喷无码正在播放| 2020久久超碰国产精品最新| 看免费真人视频网站| 香蕉久久人人97超碰caoproen| www婷婷av久久久影片| 亚洲色无码专区在线观看| 扒开双腿疯狂进出爽爽爽视频| 麻豆精品国产精华精华液好用吗| 亚洲欧洲中文日韩乱码av| 国产精品久久久久久久久久红粉| 亚洲av无码片一区二区三区_| 饥渴的熟妇张开腿呻吟视频| 精品国产一区二区三区2021| 精品人伦一区二区三区蜜桃免费| 亚洲国产精品一区第二页| 夜夜爽夜夜叫夜夜高潮| 成年动漫18禁无码3d动漫| 精品无码专区亚洲| 麻豆一区产品精品蜜桃的广告语| 亚洲中文字幕不卡无码| 性色欲情网站| 亚洲av成人无码久久精品老人| 日韩一区二区三区精品| 欧美交换国产一区内射| 一本色道久久综合亚洲精品| 日本欧美亚洲中文在线观看| 国产色在线 | 日韩| 国产亚洲精品久久久久久大师| 国产精品久久无码不卡黑寡妇| 天堂av国产夫妇精品自在线|