版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OOP&C++PatrickComputingcanbeviewedassimulation電腦的目的是將外界的事物加以量化模擬,經過計算處理後,再以人類能瞭解的方式輸出。物件-抽象化的結果,讓電腦的機器語言與人類習慣的思考方式,做更緊密的結合。OO物件導向的基本觀念,就是將電腦外界的事物,加以對映成物件,將該物件的資料方式與處理方法,通通整合於該物件之內。要對物件中的資料進行操作,必須要透過介面(Interface)進行,以保持每個物件的完整性,並可減少錯誤的發生。物件導向的概念使得軟體對外界的事物又了明確的對應,並達成資訊隱藏的目的,讓我們在思考及處理的程序上,更加的自然且方便。OOA,OODOOAnalysis從物件及class的角度來看,分析我們待解的問題,得到我們程式需求的方法。OODesign將分析的結果,實際地考量每個物件本體與其間的關係,並以記號表示出來。OOPOOProgramming將軟體系統實際的架構與基礎,建立在物件之上,並將程式加以實作。而這個程式是由一群同心協力的物件,合力組織並完成所有的工作。每項工作都分層負責,同時每個獨立的物件都可以視為分工階層的一員,而有其適當的關係與聯繫。OOP在物件導向的世界中,再也沒有資料與程序的分野,所有的物件合力組織並完成所有的工作。每個物件之間有適當的關係與聯繫,彼此互相以訊息溝通。透過物件導向的角度來看世界,軟體中充滿著一個個以訊息互相溝通的物件,對於真實的世界,有了一個更自然且清晰的對映:使得我們更容易解決軟體危機。C++C++,一個震撼全球資訊界的奇蹟。BASIC花了15年以上的時間才取代Fortran,成為全球學習人數最多的程式語言,C也花了超過十年的時間,而C++只用了五年。C++一個前所未有的資訊狂潮,新的工業標準,所有專業程式設計的依循根據。Class&Instanceclass由一群具有相同資料結構與相同行為的物件描述,所形成的集合。(分類)instance由一群具有相同資料結構與相同行為的物件由一群所描述的集合中,某一個特定且存在的物件。Everyobjectisaninstanceofaclass.抽象化物件(object)是外界真實事物的抽象對映抽象化(abstraction)抽象化所描述的過程,就是由許多物件中抽離出重要的特性來,而這些特性,足以讓被抽象的物件,與別的物件分別開來。同時,對於物件抽象化的結果,也因我們的需要不同,而有所變化。抽象化的結果保持抽象化的結果與實作分開->封裝性(encapsulation)抽象化彼此相關的結果->繼承性(inheritance)動作程序的抽象化結果->動態連結(dynamicbinding)抽象化的分類抽象資料:例如抽象資料型別(ADT)抽象化控制:例如分支控制(branchcontrolling)、例外處理(exceptionhandling)抽象化程序:參數化、動態連結、模版(template)抽象資料型別資料型別資料型別是由值的集合,以及在這些值上所操作的運算集合,所構成的一種結構。抽象資料型別就是在做一種資料的抽象化工作,它比較不受電腦結構的限制,回歸資料型別的本義-實體的抽象化結果。class在程式設計裡的角色class在物件導向的概念裡,將許多類似物件分類的結果叫做一個class。(歸納)一個專門製造相同型態物件的物件製造機。(演繹)常見的class有哪些?實在的東西角色事件、交互關係地點組織概念需要記憶的事件物件的要求物件必須有一個資料結構來存放資料物件必須要有狀態(State)物件必須要有行為(Behavior)物件必須可以被識別(Identity)物件必須可以被創造及消滅C++中的classclass具有一個資料結構,可以用struct類似的方式建造class有建構函式(Constructor)及解構函式(Destructor),用來建造物件及消滅物件。class有成員函示(memberfunction),可以建立物件的行為。class可以設定操作元(operator)的成員函示,使得class成為真正的資料型別。class另有存取等級的管制可以實現資訊隱藏的概念。如何宣告一個classclass[名稱]{private: [內部使用的資料]; [內部使用的成員函式];public: [供別人使用的成員函式]; [建構式]; [解構式];};PhilospherclassPhilospher{private: int hungry;public: Philospher(); ~Philospher(); voidEat(Food); voidThink();}MemberfunctionVoidPhilospher::Think(){ hungry++;}Constructor&DestructorPhilospher::Philospher(){ hungry=0;}Philospher::~Philospher(){ //當哲學家快要餓死的時候,必須出版一本書: //〈如何避免餓死〉}ParameterizedConstructorClassPhilospher{ ...public: voidPhilospher(int_hungry){ hungry=_hungry }; …};PhilospherR(5),S=4;thisthis指標指向instance自己VoidPhilospher::Think()
{
this->hungry++;
}Datamenberinstancevariable屬於每個instance的變數,代表著每個instance的狀態。classvariable屬於class的變數,代表整個class的狀態。MemberfunctionInstancemethod作用在某個Instance上classmethod作用於class上StaticvariableclassPhilospher{private: staticintcount; …public: Philospher(){count++}; ~Philospher(){count--}; ...}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度展览馆照明设备采购合同范本3篇
- 二零二五版建筑工程项目招投标与合同风险评估与管理协议3篇
- 二零二五年度办公室租赁合同含停车服务2篇
- 二零二五版跨区域公司间资金拆借合同范例2篇
- 二零二五年度环保设备班组工人劳务合同3篇
- 二零二五版教师临时聘用与教育品牌建设合同3篇
- 二零二五年版农业科技项目合同信用评价与推广合作合同3篇
- 二零二五年度石材矿山开采权转让合同2篇
- 二零二五版租赁合同:租赁合同信息化管理平台使用协议3篇
- 深圳汽车租赁合同模板2025版6篇
- 物业民法典知识培训课件
- 2024-2025学年山东省德州市高中五校高二上学期期中考试地理试题(解析版)
- TSGD7002-2023-压力管道元件型式试验规则
- 2024年度家庭医生签约服务培训课件
- 建筑工地节前停工安全检查表
- 了不起的狐狸爸爸-全文打印
- 派克与永华互换表
- 第二章流体静力学基础
- 小学高年级语文作文情景互动教学策略探究教研课题论文开题中期结题报告教学反思经验交流
- 春节新年红灯笼中国风信纸
- 注塑件生产通用标准
评论
0/150
提交评论