999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“面向對象程序設計與C++”教學中的問題與思考

2008-01-01 00:00:00田紅鵬
計算機教育 2008年6期

文章編號:1672-5913(2008)06-0081-02

摘要:本文以大學本科計算機科學與技術專業學生為對象,總結分析了“面向對象程序設計與C++”課程教學及實驗環節中存在的問題,并提出一些解決方法和建議。

關鍵詞:面向對象技術;C++;教學;學習方法

中圖分類號:G642

文獻標識碼:B

“面向對象程序設計與C++”課程不僅是高校計算機科學與技術專業大學生學習C++的一門必修課,而且在一些非計算機專業中也常作為選修課,還受到許多計算機專業人士及程序設計人員的青睞。但是,由于課程的抽象性、復雜性,加之學習方法的問題,使得一些學生感覺非常吃力。本文根據筆者親身教學經驗和講授過程中出現的問題,討論相應的解決方法和學習建議,希望能起到拋磚引玉的作用。

1復習不到位

該課程一般在大學二年級開設,因此學生的學習態度都比較端正、積極。在課堂上能夠集中精力,認真聽課,并參與互動。但是在課下工作不到位,主要表現是前導課程的知識遺忘和新講授內容復習的不夠及時。

我們知道,C++中的基礎知識中很大一部分源于其前導課程C語言。C的語法在C++中是兼容的,C++是更高級的支持面向對象技術的C,很多知識點都是相同,如語句的基本結構、各種類型的指針等。可能由于隔了一個學期,記憶不夠扎實,加上新內容沒有復習到位,導致接受更多的新知識時,理解困難。學習的過程應該是發揮主觀能動性,加工研磨現有知識并為已所用的過程。

俗話說“溫故而知新”,課程的基礎知識務必應該做到及時記憶,盡可能多地理解消化。因為很多時候,一些知識點可能需要反復理解才能慢慢吃透。例如,對于多態性的認識、類型兼容規則的理解和運用等。

2抽象問題能力較差

“面向對象程序設計與C++”課程中的主要概念之一就是“類”,因此需要掌握的基本技能之一就是依據所要解決的問題,按照客觀事物的特點進行數據抽象和功能抽象,如圖1。

圖1 面向對象程序設計中對類進行抽象的過程

教學過程中發現大部分學生可以做到合理規劃,但個別細節部分考慮不周,甚至有誤。例如,設計“矩形類”中計算面積的成員函數時,形式參數的確定問題。仔細考慮,不難判斷出該函數不需要從外界獲得信息,只要從內部獲得私有數據成員長和寬進行計算即可。但個別學生所設計的成員函數需要從外界獲得長和寬,顯然不合理,一則破壞了類的封裝性,二則無法保護數據。類似這樣的問題,應從勤于思考,循序漸進,提煉問題本質,培養抽象能力方面著手解決。

3復雜程序的組織思路不清晰

根據教學進度安排,課程伊始就會從軟件工程的角度介紹面向對象的分析(OOA)、面向對象的設計(OOD)、面向對象的編程(OOP)、面向對象的測試(OOT)和面向對象的維護(OOSM)等軟件開發過程的五個階段。

可能由于教材例題以及習題比較簡單,所以在上機實驗時大部分學生是直接進入了OOP階段,對著計算機屏幕編程。而一旦遇到復雜問題就無所適從,不知如何下手。解決方法是進行詳細的OOA和OOD,充分利用UML進行設計,OOP階段只按照OOA階段中制定好的設計步驟編寫代碼。UML與程序設計語言無關,不但可用于表示C++中的類和類間的關系,而且適用于以面向對象技術來描述任何類型的系統。通過課程學習,應當會用UML分析類和類間關系,并掌握繪制UML圖的一種專業軟件,如Visio 2003、Rational Rose、或SkyDesigner等。

4程序調試能力弱

性能良好的程序和軟件不可能一蹴而就,沒有錯誤,因此調試是程序員最基本的技能之一。按照出錯原因,可將之分為兩類:一類是程序編譯錯誤,此時可根據output窗口提示的出錯位置和出錯原因改正,并且每更正一處錯誤就重新編譯一次;另一類是程序邏輯錯誤,這種錯誤需要通過認真分析,先定位錯誤,再改正之。在Visual C++ 6.0環境下,解決方法是利用Debug窗口中提供的工具,功能分別包括:重新開始、中止程序、中斷執行、應用更改;進入下一語句、跳入、跳過、跳出、執行到光標處;快速觀察變量;觀察變量、觀察寄存器、觀察內存、觀察堆棧和匯編等。

需要注意的是,在第二類錯誤的調試過程中,程序員應該比計算機清楚某一時刻程序的運行狀態,做到事先就心中有數,然后有順序地逐步檢驗,才能定位錯誤、解決錯誤。

5不規范的編程習慣

典型的表現之一是所編寫的程序格式混亂,沒有縮進或亂縮進。正確的縮進方法應該是“Tab”鍵的形式,這樣做出來的縮進位置是固定不變的,不能用空格代替。在Visual C++ 6.0環境下,還可借助智能縮進工具,方法是選中需要縮進部分,然后在主菜單“Edit”中選擇“Advanced”,點擊“Format Selection”或者快捷鍵“Alt+F8”。嚴格規范的程序代碼層次清晰,一目了然,可以降低代碼出錯率,例如能夠有效避免括號不配對等低級問題,也便于后期的程序維護與修改工作。

另一個典型表現是程序沒有注釋或者注釋全是廢棄的代碼。雖然在編譯和執行時注釋會被忽略,注釋本身不會增加可執行文件的大小,但是注釋的目的是方便代碼的閱讀和代碼維護。因此,一定要按照統一的規范來書寫足夠的注釋,尤其在相對復雜的程序設計問題和大型項目研發中注釋及說明文檔更加必不可少。現行的代碼規范要求注釋量應占到程序代碼比例的20%左右,即100行程序中包含20行注釋。注釋可以書寫在代碼中的任意位置,但是一般寫在代碼的開始處或者結束處。Visual C++ 6.0中,正確的注釋方法是以“//”為起始的行注釋和“/*….*/”為起止符的多行注釋。最后,修改程序代碼時,一定要更新注釋,同時建議記錄相應的修改日期和程序修改人。

參考文獻

[1] 鄭莉.C++語言程序設計[M]. 北京:清華大學出版社.

主站蜘蛛池模板: 免费网站成人亚洲| 成人夜夜嗨| 国产精女同一区二区三区久| 免费AV在线播放观看18禁强制| 国产精品香蕉在线观看不卡| 国产成人成人一区二区| 日韩福利视频导航| 久草网视频在线| 噜噜噜综合亚洲| 97成人在线视频| 99热6这里只有精品| 999精品视频在线| 亚洲大尺度在线| 国产亚洲精品自在久久不卡| 欧美福利在线观看| 亚洲伊人天堂| 亚洲欧美一区二区三区麻豆| 国模私拍一区二区| 欧美中文字幕无线码视频| av大片在线无码免费| 成人福利一区二区视频在线| 日本成人在线不卡视频| 久久影院一区二区h| 国产综合网站| 日韩欧美中文在线| 91精品视频网站| 三级毛片在线播放| 欧美精品啪啪| 亚洲欧美另类日本| 国产激情在线视频| 亚洲最新在线| 欧美福利在线播放| 国产成人午夜福利免费无码r| 美女黄网十八禁免费看| 国产成年无码AⅤ片在线| 99热国产在线精品99| 国产91在线|日本| 亚洲天堂日本| 国产人前露出系列视频| 亚洲一区波多野结衣二区三区| 97精品伊人久久大香线蕉| 91福利免费| 国产永久在线视频| 美女内射视频WWW网站午夜| 国产肉感大码AV无码| 中文字幕永久在线观看| 91区国产福利在线观看午夜 | 亚洲无码视频图片| 91丝袜乱伦| 情侣午夜国产在线一区无码| 国产欧美高清| 亚洲国产精品日韩欧美一区| 亚洲国产综合精品一区| AV天堂资源福利在线观看| 伊人天堂网| 香蕉久久国产精品免| 国产综合另类小说色区色噜噜| 亚洲无线观看| 欧美 亚洲 日韩 国产| 欧美第二区| 华人在线亚洲欧美精品| 日本午夜影院| 免费网站成人亚洲| 亚洲无线国产观看| 狂欢视频在线观看不卡| 欧洲精品视频在线观看| 97se亚洲综合在线| 国产精品无码AⅤ在线观看播放| 99精品国产高清一区二区| 狠狠色噜噜狠狠狠狠奇米777 | 亚洲Aⅴ无码专区在线观看q| 国内精品小视频福利网址| 欧美人与牲动交a欧美精品| 免费毛片网站在线观看| 亚洲自拍另类| 久久久精品国产亚洲AV日韩| 91探花国产综合在线精品| 久久人人爽人人爽人人片aV东京热 | 亚洲欧美人成人让影院| 日韩av电影一区二区三区四区| 国产在线观看一区精品| 久久久国产精品免费视频|