第一篇:面向對象程序設計-實驗報告2
GDOU-B-11-112
廣東海洋大學學生實驗報告書
實驗名稱 實驗2:構造函數和析構函數 課程名稱 面向對象程序設計
學院(系)
學生姓名
成績信息學院學號 專業 計算機科學與技術實驗地點 科423 班級 實驗日期 一.實驗目的1.掌握構造函數和析構函數的定義的基本格式。
2.掌握利用構造函數對對象的數據成員進行初始化的方法。
3.了解構造函數的使用方法。
二.實驗內容
1.定義一個關于日期時間的類,并在類中定義構造函數、析構函數。
2.定義一個圓柱體類Cylinder。成員中有私有數據半徑及高,要求有構造函數、析
構函數以及求圓柱體體積的成員函數。定義此類的兩個對象,編寫一個主函數進行測試。
指導教師日期注:請用A4紙書寫,不夠另附紙。第頁,共頁
第二篇:面向對象程序設計大作業實驗報告
面向對象程序設計大作業實驗報告
計算機2000<4>班
周博慧
學號 *** 2001年 12月 5日
一,功能介紹
程序采用C++為設計語言,使用VISUAL C++提供的頭文件,操作平臺基于dos平臺,適用的分辨率為600*480。
程序的設計目的是為一家船工廠建立庫存清單。它能夠實現的功能有:
1,輸入庫存(船,零件)的基本情況; 2,改變船或者零件的庫存量; 3,查詢現存的零件數量; 4,顯示庫存的基本情況。
二,基本結構
1,類的說明
程序共定義了四個類類型,它們分別是:stock(庫存)類,part(零件)類,ship(船)類,stocklist類(庫存鏈表類)。
其中,stock作為基類被part類和ship類公有繼承,part類和ship類分別作為stock的派生類存在,兩者無其它聯系;stock-list類作為一個獨立的類而存在。
2,成員說明
stock類定義了兩類成員:
A)保護成員:包括current-level(當前庫存量)和price(價格;對于零件而言是廠商的成本;對于船而已是銷售給銷售商的價格)。
B)公有成員:包括stock();get-level();change-level();get-price();change-price();~stock()六個成員函數。
其中,get-level()返回當前的庫存量;change-level()改變庫存量;get-price()得到庫存價格;
change-price()改變商品價格;~stock()顯示目前某型號零件或某種船模型的庫存量。change-level()和~stock()被設置為虛函數。
part類除了自stock類繼承的成員以外,還定義了兩類成員,分別是:
A)私有成員:reorder-level(零件的定貨量)和part-num(零件的型號);在這里要求零件的型號由一個字母兩個數字組成。
B)公有成員:part();get-part();set-reorder();~part()四個成員函數。
其中,get-part()返回零件型號;set-reorder()設置定貨量;~part()顯示零件型號。
ship類除了自stock類繼承的成員以外,還定義了兩類成員,分別是:
A)私有成員:model(船的型號,要求輸入字符);engine-size(引擎規格,要求輸入數字);max-speed(船的最高速度)。
B)公有成員:ship();get-model();~ship()三個成員函數。
其中,get-model()返回船的型號,與零件型號不同,這里要求的是全字符;~ship()顯示型號名稱。
stock-list類包含了一個“指針對節點”類型的實例變量,程序運行的時候,指針將接收到一個part類對象或者ship類對象的地址,它也定義了兩類成員:
A)私有成員:只定義了一個返回類型為stock-node結構(自定義的庫存結點結構)的指針head-ptr。
B)公有成員:包括stock-list();insert-stock();find-part();find-ship();display-list();~stock-list()五個成員函數。
其中,stock-list()把庫存清單的首地址設置為空,為以后建立庫存清單做準備;insert-stock()輸入零件或者船的基本數據;find-part()查找零件數據;find-ship()查找船數據;display-list顯示庫存情況;~stock-list()釋放舊地址占用的空間。
3,結構說明
本程序包括兩個c++ header file和三個c++ source file。c++ header file包括shipparts.h和stocklist.h;c++ source file包括shipparts.cpp,stocklist.cpp和mainstock.cpp。
三,心得體會
通過這次大作業的設計,我對C++熟悉了很多,更深刻的體會到C++編程序的優點,加深了對類封裝性和繼承的理解,熟悉了vc的操作,也豐富了自己的編程經驗。
同時,我也深深體會到自己的很多不足,沒有很徹底的領會面向對象程序設計的優點,不能很好的構建層次清晰而且分類詳細的繼承體系,沒有建立良好的辨認錯誤輸入發出警告的防御系統,不能檢查出一般的輸入錯誤,程序能夠實現的功能很少。而且,由于個人編程經驗的嚴重缺乏,程序的適用性極低。
以后要進一步學習c++的編程技巧,增強自己的編程能力。
第三篇:《面向對象程序設計》教學大綱
《面向對象程序設計》教學大綱
課程名稱:信息內容安全 課程代碼:042504 總 學 時:64 學
分:2
課程類型:專業必修課 適用專業: 信息安全專業 制 訂 人:徐雪飛 審 定 人:肖
文 制訂日期:2015年3月
《面向對象程序設計》教學大綱
一、課程性質、目的和任務
C#語言是.NET平臺上的核心開發語言,具有簡單易學、類型安全、完全面向對象等特性,是一門面向現代軟件工程的主流程序設計語言。本課程系統地介紹C#語言的結構化設計、面向對象、泛型、商業開發等功能要素,使學生在掌握程序設計的基本方法和技巧,培養利用計算機解決實際問題的能力,以滿足專業課應用和繼續學習的需要。
二、教學基本要求
通過學習本課程,要求學生能夠熟悉C#語言的語法和類型系統,掌握面向對象程序設計和泛型程序設計的基本方法,并具有商業應用開發的基本能力,能靈活地使用C#語言及Visual Studio.NET開發環境解決一般性編程問題。
三、教學內容
1、緒論(教學2學時,上機2學時)
教學內容:
(1).NET技術和框架結構簡介(2)C#語言概貌
(3)面向對象的基本概念
教學目的:使學生對.NET平臺和C#有一個綜合性的了解。
2、C#語法基礎(教學6學時,上機4學時)
教學內容:(1)數據類型(2)值和方法(3)表達式(4)控制語句
教學目的:使學生基本掌握C#語言的類型系統和基本語法結構。
3、類和繼承(教學4學時,上機4學時)
教學內容:
(1)類的數據成員和各種函數成員(2)繼承和多態(3).NET常用類型(4)接口與實現
教學目的:使學生進一步掌握類型的定義和使用方法,掌握.NET類庫中一些典型類的用法;深入理解繼承和多態性的概念,從而掌握面向對象軟件可重用性的關鍵技術。
4、Windows窗體界面(教學2學時,上機2學時)
教學內容:
(1)Windows Form編程技術(2)WPF編程技術
(3)繪圖、動畫和媒體 教學目的:使學生掌握Windows程序界面設計的基本要素,能夠使用Windows Form和WPF編程技術開發交互式圖形界面應用程序。
5、泛型(教學4學時,上機2學時)
教學內容:
(1)泛型的定義與使用(2)元組和可空類型的用法(3)泛型集合與循環遍歷
(4)匿名方法和Lambda表達式
教學目的:使學生掌握泛型程序設計的基本概念,能夠利用類型抽象和操作抽象開發出高可適的軟件程序。
6、異常處理(教學1學時)
教學內容:
(1)C#異常處理結構
(2)主動引發異常和自定義異常
教學目的:使學生能夠通過異常處理來提高程序可靠性。
7、文件操作(教學1學時,上機1學時)
教學內容:
(1)驅動器、目錄和文件(2)文件流和數據流
教學目的:使學生掌握在C#程序中進行磁盤文件存取的基本技術。
8、數據庫訪問(教學2學時,上機1學時)
教學內容:
(1)ADO.NET聯機數據訪問(2)ADO.NET脫機數據訪問
教學目的:使學生掌握C#程序中進行數據庫存取的基本技術。
9、綜合練習(教學2學時,上機8學時)教學內容:
(1)進程和線程
(2)ASP.NET網絡程序設計
(3)采用案例驅動的方式,綜合運用C#編程技術開發較為完整的軟件程序。教學目的:提高學生軟件設計的綜合能力。
五、教學方法與手段
講授法、討論法、多媒體教學、實驗教學。
六、考核方式
考試成績占70%,平時成績占30%。閉卷考試。
七、推薦教材和教學參考書
教
材:《C#程序設計基礎》第3版,鄭宇軍,石海鶴,王衛紅,清華大學出版社,2014年。參考書:
1、《C#應用開發與實踐》,曾憲權、李梅蓮 等,清華大學出版社,2015年
2、《C#編程實戰寶典》,付強、丁寧 等,清華大學出版社,2014年。
第四篇:面向對象程序設計教學大綱
面向對象程序設計(專業限選課)Object-Oriented Programming 【課程編號】XZ26175 【學分數】3 【學時數】60=38+22
【課程類別】專業限選 【編寫日期】2010.3.30 【先修課程】C語言程序設計、計算機應用基礎
【適用專業】通信工程
一、教學目的、任務
通過學習,使學生深刻理解和領會面向對象的基本思想和基本特征,掌握面向對象程序設計語言C++語言的基本概念、基本語法以及面向對象程序設計的基本方法;使學生養成面向對象的編程思維習慣。
二、課程教學的基本要求
1.理解面向對象的基本概念和使用面向對象技術進行程序設計的基本思想 2.能比較熟練地用C++語言進行一般面向對象的程序設計
3.初步掌握面向對象編程環境Visual C++的使用
三、教學內容和學時分配(2 + 5 + 14 + 9 + 12 + 7 + 6 + 5 = 60)第一章 面向對象程序設計概述 2 學時(課堂講授學時2)主要內容:
1.什么是面向對象程序設計 2.對象與類 3.封裝 4.繼承性 5.多態性
6.面向對象程序設計的語言 教學要求:
了解什么是面向對象程序設計;掌握對象和類的基本概念;理解面向對象程序設計的基本特征。其它教學環節:
安排課外了解面向對象程序設計方面的基本概念。第二章 C++概述 5學時(課堂講授學時2+課程實驗學時3)主要內容:
1.C++的起源和特點 2.C++源程序的構成
3.C++在非面向對象方面的一些特性 教學要求:
cin和cout的使用;new和delete的運算符的使用;函數的重載;帶缺省參數的函數;引用; VC++的使用。其它教學環節:
實驗1: C++程序設計基礎練習。實驗目的和要求:
1.掌握C++程序的基本格式和規范,學會編寫簡單的C++程序。2.掌握C++程序結構的特點。
3.熟悉C++程序基本的輸入輸出操作。
4.掌握C++數據類型常量和變量以及修飾符的使用方法。5.熟悉作用域運算符的功能和基本使用方法。6.掌握C++內存的動態分配和釋放方法。7.理解引用的概念,掌握引用的使用方法。
第三章 類和對象 14學時(課堂講授學時8+課程實驗學時6)主要內容:
1.類與對象的基本概念 2.構造函數與析構函數 3.對象數組與對象指針 4.向函數傳遞對象 5.靜態成員 6.友元
7.類對象作為成員 8.常類型 教學要求:
類的聲明;對象定義;對象的成員的訪問。訪問屬性的理解和運用;構造函數和析構函數的定義;對象數組的定義和使用;this的指針的理解和使用;類的成員類型為其他類時如何理解和使用;靜態成員的理解和運用。提供友元機制的目的;友元聲明方法;提供常類型機制的目的;各種不同的常類型運作方式。其它教學環節:
實驗2:類和對象。實驗目的和要求:
1.掌握類、類的數據成員、類的成員函數的定義方式。2.理解類成員的訪問控制方式。
3.掌握對象的定義和操作對象的方法。
4.理解構造函數和析構函數的定義與執行過程。5.掌握重載構造函數的方法。6.了解拷貝構造函數的方法。實驗3:對象數組和對象指針。實驗目的和要求:
1.掌握對象數組的定義和使用方法。
2.理解對象指針的概念,學會用指針引用對象。3.了解this指針的工作方式。
4.掌握靜態數據成員和靜態成員函數的基本使用方法。5.理解友元與友元函數的作用,掌握其使用方法。
第四章 派生類和繼承 9學時(課堂講授學時6+課程實驗學時3)主要內容:
1.派生類的概念
2.派生類的構造函數和析構函數 3.基類成員的訪問 4.多重繼承 5.賦值兼容規則 教學要求:
基類和派生類的基本概念;繼承成員的訪問規則;派生類構造函數和析構函數的運行規則;多重繼承的基本概念;多重繼承中同名二義性如何消除;引入虛基類的目的;繼承類和派生類之間相互賦值規則用。
其它教學環節:
實驗4:派生類與繼承。實驗目的和要求:
1.理解類的繼承的概念,能夠定義和使用類的繼承關系。2.掌握派生類的聲明和定義方法。
3.掌握公有派生和私有派生的訪問特性。4.學習虛基類在解決問題中的作用。
第五章 多態性 12學時(課堂講授學時8+課程實驗學時4)主要內容:
1.編譯時的多態性與運行時的多態性 2.函數重載 3.運算符重載 4.類型轉換 5.虛函數 教學要求:
多態的基本概念;實現運算符重載的方法(成員函數);實現運算符重載的方法(友元函數);靜態聯編和動態聯編的基本概念;虛函數的作用;虛函數的運用。其它教學環節:
實驗5:虛函數和多態性。實驗目的和要求:
1.理解編譯時的多態性和運行時的多態性。2.掌握運算符重載的基本方法。3.掌握虛函數的定義和使用方法。
第六章 模板 7學時(課堂講授學時4+課程實驗學時3)主要內容:
1.模板的概念
2.函數模板與模板函數 3.類模板和模板類 教學要求:
模板的基本概念;為什么要使用模板;函數模板和模板函數的基本概念;函數模板的聲明和使用;類模板和模板類的基本概念。其它教學環節:
實驗6:函數模板與類模板。實驗目的和要求:
1.掌握函數模板及其聲明方法。2.掌握模板函數及其生成方法。3.學習類模板的聲明與使用方法。
第七章 C++的I/O流類庫 6學時(課堂講授學時3+課程實驗學時3)主要內容:
1.C++建立類類庫的目的 2.預定義類型的輸入輸出
3.用戶自定義類型的輸入和輸出 教學要求:
掌握在各種情況下的<<和>>運算符的重載。其它教學環節:
實驗7:I/O流類庫。實驗目的和要求:
1.掌握流及流類庫的作用。
2.掌握流類庫中常用的類及其成員函數的使用方法。3.掌握重載“<<”和“>>”的方法。
4.掌握控制輸出寬度的函數width和setw。
5.掌握函數setosflags和resetiosflags設置和恢復對齊方式、精度、大小寫等。
研究教學內容 5學時(課程講解和討論學時)
程序綜合設計:按照面向對象程序開發的原則和方法,利用一個實例來講解面向對象程序設計的整個過程,然后要求學生根據自己的開發經驗進行分組討論,從而幫助學生進一步理解和熟悉面向對象程序設計方法。
四、教學重點、難點及教學方法
重點:類和對象的基本概念;對象定義;對象的成員的訪問。訪問屬性的理解和運用;構造函數和析構函數的定義;對象數組的定義和使用;this的指針的理解和使用?;惡团缮惖幕靖拍?;繼承成員的訪問規則;派生類構造函數和析構函數的運行規則。多態的基本概念;函數的重載。
難點:多重繼承;虛函數;模板。
教學方法:課堂授課采用多媒體教學和分組討論的方法,實驗采用任務驅動方式。通過未來愿景描述和學以致用的方法來提高學生的學習興趣,通過分組交流和師生積極互動的方式提高學生學習本門課程的學習能力。
五、考核方式及成績評定方式:考試
六、教材及參考書目
推薦教材:
[1] 《C++面向對象程序設計》,陳維興,林小茶,清華大學出版社,第2版,2004 參考書:
[1] 《C++面向對象程序設計習題解析與上機指導》,陳維興,清華大學出版社,2003 [2] 《C++程序設計基礎》,周靄如,電子工業出版社,2003 [3] 《C++語言程序設計》,鄭莉,清華大學出版社,2005 修(制)訂人: 審核人:
2010年 3 月30
日
第五篇:《面向對象程序設計》教學大綱
《面向對象程序設計》教學大綱
課程名稱:面向對象程序設計 英文名稱:Object Oriented Programming)學分:2 總學時:36 實驗(上機)學時: 8 開課專業:電子商務專業
一、本課程的性質、目的和培養目標
面向對象程序設計是電子商務專業的限定選修課程。面向對象程序設計是當今最為流行的程序設計方法,本課程以C++語言為核心,全面概述面向對象程序設計的基本概念和基本技術。主要內容包括:理解和掌握面向對象程序設計的基本思想和技術,掌握C++中的引用和函數重載、類與對象、靜態成員與友元、運算符重載、繼承與派生類、多態與虛函數等重要概念和技術。通過教學要求學生基本掌握面向對象的程序設計方法,認識C++是如何支持面向對象程序設計的,培養、訓練學生運用面向對象技術進行程序設計的能力。
二、預修課程
計算機語言與程序設計
三、課程內容及學時分配
第一章 從C語言到C++語言
1.C++語言出現的歷史背景(OOP思想概述)2.C++中的注釋、常量和輸入輸出 3.C++中的變量定義與作用域 4.C++中的函數 5.C++中的指針與引用
本章學時數:4,本章習題數:4 第二章 類與對象 1.類 2.對象
3.構造函數和析構函數 4.對象及其應用 5.對象的生存期 6.再論程序結構 7.面向對象程序設計
本章學時數:6,本章習題數:6 第三章 靜態成員與友元 1.拷貝構造函數 2.靜態數據成員 3.靜態成員函數 4.友元函數
本章學時數:6,本章習題數:6 第四章 運算符重載 1.運算符重載的概念 2.運算符重載舉例
本章學時數:4,本章習題數:4 第五章 繼承與多態 1.繼承的概念 2.單繼承 3.多態與虛函數
4.類的分解(類的層次設計)5.抽象類與純虛函數
本章學時數:6,本章習題數:6 第六章 I/O流庫簡介 1.C++流庫的結構 2.輸入與輸出 3.格式控制 4.文件
本章學時數:2,本章習題數:2
四、實驗(上機)內容和建議學時分配 實驗1(4學時)
要求:定義類,該類至少應包括靜態數據成員和靜態成員函數,要求通過本實驗掌握定義類的基本方法。實驗2(4學時)
要求:通過本實驗掌握函數重載、友元函數、繼承、虛函數等的基本使用方法。
五、教材和參考書目
1.《C++語言基礎教程》,呂鳳翥編著,清華大學出版社,1999 2.《C++程序設計教程》,錢
能主編,清華大學出版社,1999 3.《The C++ Programming Language》(Third Edition),Bjarne Stroustrup,Addison-Wesley,1997
六、課外學習要求
要求課前預習下一次課的講課內容,課后復習本次課的講課內容并通過相應的作業加以消化。
七、考核方式
本課程采用閉卷書面考試方式為主,其中期終考試占80%,期中10%,平時作業、上機及出勤率10%。